古いログファイルを単一のzip-linuxに圧縮する

古いログファイルを単一のzip-linuxに圧縮する

/home/testuser/log1日前のログファイルを含むフォルダがあります*.log。 1日が経過したすべてのログファイルを単一のzip(gzipまたはtar.gz)に圧縮し、古いファイルを削除したいと思います。

パイプの検索とtarコマンドを試しましたが、成功しませんでした。

答え1

1 日後のログの tar.gz ファイルの作成

find /home/testuser/log/ -mtime +1 | xargs  tar -czvPf  /opt/older_log_$(date +%F).tar.gz

古いファイルの削除[注:-以下の検索結果が正しい場合は、echoを削除してからこのファイルを削除してください。]

find /home/testuser/ -mtime +1 | xargs  -n1 echo rm

答え2

sr_のコメントを拡張すると、logrotateを使用して夜間SQLダンプを管理しています。私は次の構成を持っています/etc/logrotate.d/mydbdump

/var/backups/dump.sql {
        daily
        rotate 7
        missingok
        create 640 root root
        compress
}

デフォルトでは、ファイルをインポートして/var/backups/dump.sql(ログファイル名を指定できます)、圧縮してから名前をdump.sql.1.gzdump.sql.1.gzdump.sql.2.gz

logrotate通常それ自体が呼び出されるので、実行時を制御するにはディレクトリをcron確認してください。/etc/cron*

関連情報