rsnapshot によって実行される mysql データベースの 1 時間ごと、毎日、毎週などのバックアップがあります。これらは定期的に実行されていますが、スケジュールが間違っています。
の内容は次のとおりです/etc/cron.d/rsnapshot
。
5 * * * * root /usr/bin/rsnapshot hourly
30 0 * * * root /usr/bin/rsnapshot daily
35 12 * * 0 root /usr/bin/rsnapshot weekly
40 13 1 * * root /usr/bin/rsnapshot monthly
45 0 1 1 * root /usr/bin/rsnapshot yearly
しかし、結果のファイルを確認すると、スナップショットは「時間ごと」のスケジュールに従って作成されているようです。たとえば、daily.0 バックアップの名前は次のようになります。/backups/daily.0/mysql/2021-01-02_22h05m01s_UTC-db_dump.sql.gz
このファイルは毎時 5 分に作成されたことがわかります。
毎日午前 00:30 に実行されるはずの日次ジョブが、毎時 5 分に実行されるのはなぜですか?
関連があるのは、私の次の部分かもしれません/etc/rsnapshot.conf
:
retain hourly 3
retain daily 7
retain weekly 4
retain monthly 12
retain yearly 100
答え1
ドキュメントより:
[ の保持間隔
/etc/rsnapshot.conf
] を構成する場合、リストの最初の項目のみが実際にファイル システムからファイルをバックアップし、自身の以前のバックアップをローテーションすることに注意してください。残りの項目は以前のバックアップのみをローテーションし、リストの前の項目によって作成された最も古いバックアップから最新のバックアップを作成します。したがって、構成ファイルでこれらがリストされる順序は非常に重要です。
このため、実際のデータベース バックアップ ダンプは、最も頻繁な間隔 (この場合は「1 時間ごと」) で作成されたものだけになります。この例では、cron ジョブは毎時 5 分に「1 時間ごと」に実行されるため、それよりも長い間隔 (毎月でも) では、毎時 5 分に作成されたバックアップが保持されることになります。