- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:時間毎のディレクトリ圧縮&ローテート方法を知りたい)
時間毎のディレクトリ圧縮&ローテート方法を知りたい
このQ&Aのポイント
- CentOSで特定ディレクトリの圧縮方法とバックアップの保持期間について知りたい。
- 現在はシェルとcronを使用してバックアップを作成しているが、手動で削除が必要な状況にある。
- 識者の方々からのアドバイスをお待ちしています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
findを使えば日にち単位で削除できます。 find . -name \*.log -ctime +60 -type f -exec rm -fr {} \; と書けば、カレントディレクトリで「.log」という名前のファイルで60日以上古いものを削除します。 他の方法として、毎時取得の48時間保存なので、lsの結果をソートして最後のものをrmするとか。 (例を書いてみますが、動作確認はまったくしていません) KEEP=48 FILE=`"ls ." | wc -l` while [ $FILE -ge $KEEP ]; do RMFILE=`"ls ." | sort -r | tail -1` rm $RMFILE FILE=`"ls ." | wc -l` done
お礼
例文まで作成していただき恐縮です。 findにてOKでした。 例文を参考にさせていただき、下記を作成しました。 find . -maxdepth 1 -type f -name \*.gz -mtime +1 | xargs rm -f