2017/01/24

rsync

2017年1月23日記載
rsyncで差分を止めていたのだが、いよいよHDDの容量を逼迫してきた。

そこで、

--ignore-existing コピー先に存在するファイルは更新しない
こいつを嚙ましてみる。


LastBackup=`ls -t $BackupDIR | grep backup | head -1`
一番古いファイルとの差分を取っていたが、最新のものとの比較に修正
LastBackup=`ls -t $BackupDIR | grep backup | tail -1`



上手い事動きそうなので、定期的なフルバックアップをどのタイミングで行うか?
は今年の課題にしたいと思う。

スクリプトシェル
#!/bin/sh
# バックアップ先ディレクトリ指定
BackupDIR=/home/*****/dailyBackup

mkdir -p $BackupDIR
# バックアップログ定義
BackupLog=/home/*****/log/rsync_backup.log rm -f $BackupLog
touch $BackupLog
chmod 600 $BackupLog
#エラーチェック
error_exit () {
exit 1
}
#バックアップ実行
echo "`date` backup start" >> $BackupLog
LastBackup=`ls -t $BackupDIR | grep backup | tail -1`
NewBackup=`date +%Y%m%d`backup

mkdir $BackupDIR/$NewBackup
rsync -rlptv --ignore-existing
 --whole-file --link-dest=../$LastBackup /home/比較元のディレクトリ/ $BackupDIR/$NewBackup >> $BackupLog 2>&1

code=$?
if [ $code -ne 0 ]; then
cat $BackupLog | mail -s "BACKUP NG CODE IS $code" root
rm -rf $BackupDIR/$NewBackup
error_exit
fi
echo "`date` backup end" >> $BackupLog