毎日、フォルダー内のログファイルを削除しています。
find ~/folder -mtime +28 -type f -delete
次に、上記の削除コマンドの影響を受けるすべてのファイルをアーカイブして圧縮し、このtar.gzを新しいディレクトリfolder2に保存します。
だからこれを仮定しましょう:
~/folder:
- x1 (3 days old)
- x2 (3 days old)
- y1 (29 days old)
- y2 (29 days old)
~/folder2:
- genericname1.tar.gz: (some already present archive)
- ...
アーカイブ、圧縮、削除
~/folder:
- x1
- x2
~/folder2:
- genericname1.tar.gz:
- ...
- genericname2.tar.gz:
- y1
- y2
次のようなスクリプトを実行できます(GNU tar
または libarchive bsdtar
と仮定):
find . -type f -mtime +28 -print0 | tar -czvf backup.tar.gz --null -T -
または、logrotateの使用を開始します(推奨)。カスタム構成ファイルを/etc/logrotate.d/yourfile
、サンプルファイルに配置します。
/var/log/news/news.crit {
monthly
rotate 2
olddir /var/log/news/old
missingok
postrotate
kill -HUP ‘cat /var/run/inn.pid‘
endscript
nocompress
}
すべてのlogrotate設定オプションの詳細情報を見ることができます ここ