指定日次以上経過しているファイルの削除方法する方法として、よくあるのが
find /var/log/etc/ -mtime +2 -exec rm -f {} \;
とかですが、もっと楽な方法があったのでメモです

- 出版社/メーカー: Cyxus Technology Group Ltd
- メディア:
- この商品を含むブログを見る

- 出版社/メーカー: Cyxus(シクサズ)
- メディア: エレクトロニクス
- この商品を含むブログを見る
- 出版社/メーカー: マウスコンピューター
- 発売日: 2015/08/03
- メディア: Personal Computers
- この商品を含むブログ (3件) を見る
- 出版社/メーカー: 伊藤園
- 発売日: 2012/03/05
- メディア: 食品&飲料
- クリック: 1回
- この商品を含むブログを見る
7日以上前の、*.gzの拡張子を持つファイルを削除する
とまあ、-deleteというオプションだけ追加するだけで、削除できるので見た目が(若干シンプルですよね)
find /var/log/etc -name '*.gz' -mtime +7 -delete
tmpwatch を使うともっと細かいことがシンプルにできます
tmpwatch て実は使ったことなかったのですが、cronで、/tmpを削除するとかのOSのデフォルト設定で入っているのですね (^_^;;
# cat /etc/cron.daily/tmpwatch
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch "$flags" -f 720 "$d"
fi
done
7日以上経過しているファイルを削除する
tmpwatch -m 7d /var/log/etc
7日以上経過しているファイルを削除する、ただし、ディレクトリの削除は行わない
tmpwatch -m 7d -d /var/log/etc
tmpwatch オプション詳細
-u: –アクセス時刻 -m: –更新時刻 -c: –ステータス変更時刻 -M: –ディレクトリの更新時刻 -a: すべてのファイルを削除する(怖い9 -d: ディレクトリは削除しない -f: 強制実行モード -l: シンポリックリンクの削除は行いません -q: サイレントモード -s: –fuser –fuserコマンドを使ってファイル状態を確認 -t: –test テストモードで、実際の削除が走りません -U: –exclude-user=user –指定するユーザのファイルを削除対象外 -v: –verbose –詳細モード -x: –exclude=path –指定するファイル・フォルダを削除対象外にする
いかがでしょうか?