- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3日以前のバックアップを削除する)
3日以前のバックアップを削除する方法
このQ&Aのポイント
- 3日以前のバックアップを削除する方法について教えてください。
- 現在のバックアップ削除の方法は初心者的なものであり、他に良い方法があれば教えてください。
- 具体的なバックアップ削除のスクリプトをお教えください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
えーとまず、 if [ test_$DATE_2.tar.gz ]; 等は常に真です。おそらくは、その名前のファイルが存在するかどうか調べたいと思うので、その場合は、 if [ -f test_$DATE_2.tar.gz ]; です。 それにしても意味不明のスクリプトです。本当にこれでやりたいことになっていますか?日本語に直して読んでみてください。 普通のやり方は2通りあって、 案1:ファイルに連番をつけて3世代残す (1)ファイル3があれば消す (2)ファイル2があればファイル3にリネーム (3)ファイル1があればファイル2にリネーム (4)ファイルがあればファイル1にリネーム (5)ファイルを作成 test -f test_3.tar.gz && rm test_3.tar.gz test -f test_2.tar.gz && mv test_2.tar.gz test_3.tar.gz test -f test_1.tar.gz && mv test_1.tar.gz test_2.tar.gz test -f test.tar.gz && mv test.tar.gz test_1.tar.gz tar zcvf test.tar.gz /usrl/local/test 案2:タイムスタンプが古いものを消す (1)タイムスタンプが4日以上のものを消す (2)日付入りのファイルを作る find -name 'test_*.tar.gz' -mtime +3 | xargs -r rm tar zcvf test_`date +%Y%m%d`.tar.gz /usr/local/test