2011-02-08 9 views
1

私はその削除はcronでGoogleを見上げた - 私がいることを持っている:dslcart-を持つすべての古いファイル(日付)を削除することになっているようしかし、それは動作していない削除ファイルは

17 13 * * * root find /backups/dslcart-* -mtime +6 -exec rm {} \; 

。私はこれでどこが間違っているのか分かりません。

洞察力があれば幸いです。

0 1 * * *見つけるの/ var/libに/のamavis/virusmails -ctime:

+0

**何が問題なのですか、それともうまくいかないのですか?** – ajreal

+0

「それは機能していません」とはどういう意味ですか? –

+0

(後継の場合) 'find/backups -maxdepth 1 -name 'dslcart- *' -mtime +6 -delete'を試してください。どうしてあなたのバージョンが失敗したのか分かりませんが、 '-delete'を使う方がはるかに安全です。削除するファイルのリストが大きすぎると、コマンドラインでファイルのリストを展開するのではなく、ファイルを介して。 – mc0e

答えて

0

なぜシェルスクリプトを書いたり、さらに簡単にすると、それらのファイルを削除する機能のためのあなたの責任を果たすためのPerlスクリプトですか?このようにして、このイベントが発生するたびに、関数と出力をより詳細に制御できます。これにより、cronイベントを待たずに機能をテストすることができます。 cronからスクリプトを呼び出すだけです。

+0

perlスクリプトは良いアイデアですが、残念ながら私はperlに精通していません - 良いperlチュートリアル何か似たようなもの? – joe

+1

悪いです。クリーンアップしようとしているディレクトリへのパスとは何ですか?病気はここに投稿してください。 – DoctorLouie

+0

louierd、ありがとう!ディレクトリへのパスは/ var/www/outsideの/ backupsです。私は7日古いファイル(dslcart- [日付])を削除しようとしています。 – joe

0

私は私のメールサーバー上の30日より前の隔離されたスパムメールのファイルをクリーンアップするために(私の 'amavisの' ユーザーのために)これを使用します+30 - および-type 'f' -exec rm {} \;

+1

さらに、私はこのワイルドカードが拡張されるとは思わない:/ backups/dslcart- * –

+0

これは私が思ったものだ。しかし、exec rmなしでcmdを実行すると、ディレクトリ内のファイルへの正しいパスが表示されます... – joe

関連する問題