質問

cronを介して毎日実行するこのコマンドがあります:

find /home/get/public_html/videos -daystart -maxdepth 0 
-mtime +1 -type f -name "*.flv" |xargs rm -f

問題は、1日以上前のディレクトリにある.flvファイルを削除しないことです。

上記のコマンドを修正するにはどうすればよいですか?

編集:Paul-コマンド" ls -l / home / get / public_html / videos" 2000以上のファイルが作成されますが、削除する必要があるファイルは2つです。

-rw-r--r--  1 get get   3501188 Jan  4 15:24 f486cf0a2b6bb40e4c50c991785084131231104229.flv
-rw-r--r--  1 get get  10657314 Jan  4 17:51 f5f1490ddaa11a663686f9d06fb37d981231112941.flv
役に立ちましたか?

解決

1つのファイルの名前が一般的でない場合は、findで-print0を使用し、xargsで-0を使用することをお勧めします。

また、-maxdepth 1を使用して、指定したディレクトリで実際に何かを見つけたい場合もあります。

-maxdepth 0は、コマンドラインにリストされているディレクトリでのみ検索することを意味し、それらのディレクトリの内容をチェックしません。

他のヒント

つまり、ディレクトリ / home / get / public_html / videos / foo がある場合、その中のファイルは削除されませんか?これは、 -maxdepth 0 引数セットがあり、 find がサブディレクトリに下がらないようにするためです。

-maxdepth 1
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top