0
は、これは私のバックアップの構造である:Ubuntuのbashスクリプト、複数のディレクトリから古いバックアップファイルを削除する
- バックアップがあるディレクトリが毎日作成され、そのディレクトリ内
cron_hourly_backup
- という名前のディレクトリに保存されています
ddmmyyyy
という形式で名前が付けられています。
db1_000000.zip .... db5_000000.zip
db1_230000.zip ... db5_230000.zip
点で最大EX)タイムスタンプを使用して一意の名前を持っています
これで、1日以上経過したすべてのバックアップファイルをプログラムで削除したい(OR、今日と昨日のすべてのバックアップを保つ)が、毎日1つ最新のdb(5 dbsすべて)を保持する。どうすればこれを達成できますか?
は現在、私はこれをやっている:find . -type f \(-name "*_00*" \
-o -name "*_01*"-o -name "*_02*" \
-o -name "*_03*" -o -name "*_04*" \
-o -name "*_05*" -o -name "*_06*" \
-o -name "*_07*" -o -name "*_08*" \
-o -name "*_09*" -o -name "*_10*" \
-o -name "*_11*" -o -name "*_12*" \
-o -name "*_13*" -o -name "*_14*" \
-o -name "*_14*" -o -name "*_15*" \
-o -name "*_16*" -o -name "*_17*" \
-o -name "*_18*" -o -name "*_19*" \
-o -name "*_20*" -o -name "*_21*" \
-o -name "*_22*" \) -delete
これは素晴らしい作品、問題が
- ある23時間営業のバックアップは、任意の日のために利用可能でない場合、私はその日のすべてのファイルを失うことになります。
- また、今日と昨日のバックアップも削除されます。
上記の2つの問題を解決する方法についてのご意見は大変ありがたいです。
何が作成後にそれらを修正する:あなたは、あなたはもう一つのループレベル(テストしていません)を使用することができ、
1<=N<=6
で各dbN_*
の最後を維持したいですか? 'find。 -type f -name "db *" -mtime +1 -delete'? – arco444いいえ、しかし5-6 dbがありますので、私はそれらをすべて含めるために*を使用しています – Ash
さて、私は第2の問題に-mtimeを使用できます。 1stのための任意の解決策?私は毎日の最新のDBをチェックし、すべてのリメインバックアップを削除したいと思います。 – Ash