「7日間ログをtarした後、7日間のログを削除し、次の7日後にtarファイルを除外する」スクリプト

「7日間ログをtarした後、7日間のログを削除し、次の7日後にtarファイルを除外する」スクリプト

7日ごとにすべての古いログをtar.gzし、次回実行されるときにtarファイルを除外できるようにスクリプトを生成しようとしています。

スクリプトは大丈夫ですか?それとも変更する必要がありますか?

find /home/bankex/bankex/glassfish/domains/bankex/logs/ -mtime -7 -print0 | xargs tar -czvf /home/bankex/bankex/glassfish/domains/bankex/logs/oldlogs_$(date +"%Y%m%d").tar.gz --exclude=/home/bankex/bankex/glassfish/domains/bankex/logs/*.tar.gz --null
find /home/bankex/bankex/glassfish/domains/bankex/logs/server.log* -mtime -7 -delete

ベストアンサー1

この試み、

 find /home/bankex/bankex/glassfish/domains/bankex/logs/ -maxdepth 1 -mtime -7 -type f ! -name "*.tar.gz" |  xargs tar -czvf /home/bankex/bankex/glassfish/domains/bankex/logs/oldlogs_$(date +"%Y%m%d").tar.gz --remove-files
  • maxdepthディレクトリレベル
  • type fファイルのみ
  • ! -nameパターン付きファイルを除外.tar.gz
  • --remove-filesTaredファイルが削除されます

おすすめ記事