1

毎日午前 3 時 30 分にデータベースのバックアップを作成する cron ジョブがあります。

ファイル名の命名法は live_YYYY_MM_DD.sql.gz です。ここで、YYYY、MM、および DD はバックアップが作成された日付です。

通常、古いバックアップを削除しますが、バックアップの数を最新の 3 つに制限したいと考えています。ある種のプロセスまたはスクリプトを介してそれを行う方法はありますか?

ありがとう

編集:

http://www.thegeekstuff.com/2010/07/logrotate-examples/に従って logrotate.conf を編集しました

4

2 に答える 2

1

単純なシェル スクリプトでこの作業を行うことができますが、それを行うための標準ツールであるlogrotateを学習したほうがよいでしょう。古いバックアップ ファイル管理の要件が変更された場合、自作のスクリプトを変更する代わりに、logrotate 構成エントリを変更するだけです。

于 2012-05-22T22:42:06.603 に答える
0
ls -t live_*.sql.gz|awk 'NR>3'|xargs echo

これが正しいファイルをエコーする場合は、rm代わりにecho. バックアップ スクリプトの適切な場所に配置すれば、logrotate をインストールする必要はありません。

于 2012-05-22T22:05:42.927 に答える