Cron Job-すべての.flvファイルを毎日削除するコマンド
-
03-07-2019 - |
質問
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
所属していません StackOverflow