[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:54634] Re: cronで自動削除



さとうふみやす @ OSSTech です。

At Wed, 10 Nov 2010 09:05:12 +0900,
朧月 wrote:
> あるフォルダの中身を日数がたったものから自動的に削除したくて、/etc
> /cron.dailyフォルダに以下のように書いたテキストファイルを置きましたが、
> うまくいきません。
> 
> #!/bin/sh
> #8日前以上のフォルダを削除
> find /var/www/gomibako/* -type d -mtime '+7' -exec rm -r {} \;

「*」は意図的(/var/www/gomibako 直下のドットファイルを除外)なのか
どうかや、ファイル数は多くないのであればそれでいいですが、
私だったらこうするかな。

find /var/www/gomibako -type d -mtime '+7' -print0 |xargs -0 rm -rf

ディレクトリの mtime でいいんですか?

> Debianですので、\の所は実際はバックスラッシュになっています。このファイ
> ルの名前はfind-rm.cronとなっており、コマンドラインから打ち込むと実行出来
> ます。
> 
>  # /etc/cron.daily/find-rm.cron

/etc/cron.daily 以下のスクリプトは、/etc/crontab に記述されている
cron ジョブで実行されます。/etc/crontab を見ると run-parts(8) を
利用しているのがわかるので、そのマニュアルを見るとどんな名前が
有効かどうか書いてあります。

run-parts(8) の --test で実行対象になるかテストしれみるとよいでしょう。

  # run-parts --test --report /etc/cron.daily

> 上だとこちらの意図通りに動くのに、なぜかcronデーモンが実行してくれいない
> イメージです。

-- 
-- Name: SATOH Fumiyasu (fumiyas @ osstech co jp)
-- Business Home: http://www.OSSTech.co.jp/
-- Personal Home: http://www.SFO.jp/blog/