複雑な保持ポリシー

複雑な保持ポリシー

複数のデータベースの毎日のデータベース バックアップを、ローカル Linux マシンのディレクトリに scp で保存しています。命名形式は [dbname].backup です。タイムスタンプはなく、現在は最新のバックアップが以前のバックアップを上書きします。

管理者は、ファイルの古いバージョンを末尾に日付スタンプを追加して保存し、次の保持ポリシーを適用したいと考えています。

  • すべてのファイルは7日間保存されます
  • 各データベースの月の最初のバックアップは12か月間保持されます。
  • 各年の最初のバックアップは無期限に保持されます

このスクリプトの書き方がわからず頭を悩ませています。そのため、以前に誰かがこのようなスクリプトを書いたことがあるか、あるいは私が知らないうちにこのようなことを管理できるツールがあるのではないかと期待しています。

そのようなスクリプトやツールを知っている人はいますか?

答え1

私の会社ではこれをよくやります。

おそらく主に使用するのは「find」(man find)でしょう。例えば:

/home -type f -ctime +14 -exec rm -f {} \; を検索します。

14 日より前に作成されている /home 以降のすべてのファイルを削除します。さらに、find のオプションを指定して、対象とするファイルを絞り込むことができます。

さらに詳しい情報や find の使用に関するヘルプが必要な場合はお知らせください。必要なことはすべて実行できます。

関連情報