以下の構成でrsnapshotをセットアップしましたが、正常に動作しているようです。ただし、rsnapshotのドキュメントやその他のチュートリアルで、正しく読んだ内容を理解していれば、次のオプションを追加することで操作がより堅牢になります。
link_dest 1
sync_first 1
use_lazy_deletes 1
ただし、これら、特にsync_firstを有効にすると、正しく動作しないようです。エラーはありませんが、何も起こらないようです(以下の最後のコードブロックを参照)。 Configtestは正常に成功します。 sync_firstの使用方法について何かが足りないのではないかと思います。これらの3つのオプションを一緒に使用した場合(競合なし)に本当に有益かどうかを最初に知りたいのですが、次に、sync_firstを有効にした後にcronでrsnapshotを呼び出す方法に違いがありますか?
これは、rsnapshot1.3.1を使用してUbuntu14.04にインストールされ、rsyncにはlink_destオプションがあります。これに関する指示をありがとう、公式ドキュメントは少し乾燥しています。
会議
config_version 1.2
snapshot_root /srv/rsnapshot/
no_create_root 0
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
cmd_rsnapshot_diff /usr/bin/rsnapshot-diff
retain HoursAgo 6
retain DaysAgo 7
retain WeeksAgo 4
#retain monthly 3
verbose 5
loglevel 3
logfile /var/log/rsnapshot.log
lockfile /var/run/rsnapshot.pid
rsync_long_args --stats --delete --numeric-ids --relative --delete-excluded
ssh_args -p 22
# Host.mydomain.net
backup [email protected]:/etc/ Host.mydomain.net/
backup [email protected]:/srv/www/ Host.mydomain.net/
backup_script /usr/bin/ssh [email protected] "rm -rf /var/local/mysqlbak/" unused/
backup_script /usr/bin/ssh [email protected] "/usr/local/bin/mysql_bak.sh" unused1/
backup [email protected]:/var/local/mysqlbak/ Host.mydomain.net/mysql/
cron
0 */4 * * * root /usr/bin/rsnapshot hourly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" [email protected]
30 3 * * * root /usr/bin/rsnapshot daily 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Daily Backup" [email protected]
0 3 * * 1 root /usr/bin/rsnapshot weekly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Weekly Backup" [email protected]
3つの追加オプションをすべて有効にして実行した結果:
root@backup:~# rsnapshot HoursAgo
require Lchown
Lchown module loaded successfully
Setting locale to POSIX "C"
echo 3567 > /var/run/rsnapshot.pid
mv /srv/rsnapshot/HoursAgo.3/ /srv/rsnapshot/HoursAgo.4/
mv /srv/rsnapshot/HoursAgo.2/ /srv/rsnapshot/HoursAgo.3/
mv /srv/rsnapshot/HoursAgo.1/ /srv/rsnapshot/HoursAgo.2/
mv /srv/rsnapshot/HoursAgo.0/ /srv/rsnapshot/HoursAgo.1/
No directory to delete: /srv/rsnapshot/_delete.3567
rm -f /var/run/rsnapshot.pid
/usr/bin/logger -i -p user.info -t rsnapshot /usr/bin/rsnapshot HoursAgo: \
completed successfully
これは、リモートに接続せず、変更されたファイルをチェックする時間がなく、即座に発生します。
更新: rsnapshotのUbuntuページでsync_firstに関する追加情報を見つけました。 hourly
行の前にrsnapshot sync &&
を追加して、cronを編集しました。
0 */4 * * * root /usr/bin/rsnapshot sync && /usr/bin/rsnapshot hourly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" [email protected]
これは、手動で実行したときに機能するようです。
私はまだ知りたいです:これらの3つの追加オプションは一緒に使用すると有利ですか?
エラーが発生した場合にのみメールが届くように、統計をダンプすることもあります。
rsnapshot sync
を呼び出す前に、rsnapshot <level>
を呼び出す必要があります。