
複数のデータベースの毎日のデータベース バックアップを、ローカル Linux マシンのディレクトリに scp で保存しています。命名形式は [dbname].backup です。タイムスタンプはなく、現在は最新のバックアップが以前のバックアップを上書きします。
管理者は、ファイルの古いバージョンを末尾に日付スタンプを追加して保存し、次の保持ポリシーを適用したいと考えています。
- すべてのファイルは7日間保存されます
- 各データベースの月の最初のバックアップは12か月間保持されます。
- 各年の最初のバックアップは無期限に保持されます
このスクリプトの書き方がわからず頭を悩ませています。そのため、以前に誰かがこのようなスクリプトを書いたことがあるか、あるいは私が知らないうちにこのようなことを管理できるツールがあるのではないかと期待しています。
そのようなスクリプトやツールを知っている人はいますか?
答え1
私の会社ではこれをよくやります。
おそらく主に使用するのは「find」(man find)でしょう。例えば:
/home -type f -ctime +14 -exec rm -f {} \; を検索します。
14 日より前に作成されている /home 以降のすべてのファイルを削除します。さらに、find のオプションを指定して、対象とするファイルを絞り込むことができます。
さらに詳しい情報や find の使用に関するヘルプが必要な場合はお知らせください。必要なことはすべて実行できます。