スクリプト「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-filestarされたファイルを削除します

関連情報