web-dev-qa-db-ja.com

sync_first、link_dest、およびuse_lazy_deletesでRsnapshotを使用する

以下の構成で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つの追加オプションは一緒に使用すると有利ですか?

エラーが発生した場合にのみメールが届くように、統計をダンプすることもあります。

5
David Rahrer

rsnapshot syncを呼び出す前に、rsnapshot <level>を呼び出す必要があります。