Skip to content

Instantly share code, notes, and snippets.

@the-takeo
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save the-takeo/7fcb44bf096652d8f233 to your computer and use it in GitHub Desktop.
Save the-takeo/7fcb44bf096652d8f233 to your computer and use it in GitHub Desktop.
Backup_Files
#!/bin/bash
fromHDD="/Volumes/バックアップ元HDD名/"
backupHDD="/Volumes/バックアップ先HDD名/"
logFile="/ログ出力先ディレクトリ/SyncLog"`date +%Y%m%d`".log"
if [ ! -e $fromHDD]; then
echo "No FromHDD $FromHDD" >> $logFile
echo "HDD Sync Error" | mail -s "HDD Sync Error" Address@gmail.com
return
fi
if [ ! -e $backupHDD]; then
echo "No backupHDD $backupHDD" >> $logFile
echo "HDD Sync Error" | mail -s "HDD Sync Error" Address@gmail.com
return
fi
for folder in `ls -F $fromHDD | grep /`
do
fromdir=$fromHDD$folder
backupdir=$backupHDD$folder
rsync -atuv --delete $fromdir $backupdir >> $logFile
done
echo "HDD Sync is Completed" | mail -s "HDD Sync Completed" Address@gmail.com
@the-takeo
Copy link
Author

改善点と問題点

  • cdでなく、lsで指定した方がいい。
  • ログは日付別に出した方がいい。その場合、古いログを削除する機能も設ける。
  • フォルダ"AAA BBB"が"AAA"と"BBB"と認識されてしまう。

@the-takeo
Copy link
Author

残課題

  • 古いログの削除
  • スペース入りフォルダへの対応

@the-takeo
Copy link
Author

ボリュームの存在確認と結果をメール送信するように修正。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment