Cron Job: comando per eliminare tutti i file .flv ogni giorno
-
03-07-2019 - |
Domanda
Ho questo comando che eseguo ogni giorno tramite cron:
find /home/get/public_html/videos -daystart -maxdepth 0
-mtime +1 -type f -name "*.flv" |xargs rm -f
Il problema è che non elimina i file .flv in una directory vecchia di 1 o più giorni.
Come posso correggere il comando sopra?
EDIT: Paul - il comando " ls -l / home / get / public_html / videos " risulta in oltre 2000 file ma eccone 2 che devono essere eliminati:
-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
Soluzione
È meglio usare -print0 su find e -0 in xargs nel caso in cui un file abbia un nome insolito.
Inoltre, si desidera utilizzare -maxdepth 1 per trovare effettivamente qualcosa nella directory specificata.
-maxdepth 0 significa che troverà solo nelle directory elencate nella riga di comando, non controllerà il contenuto di quelle directory.
Altri suggerimenti
Intendi, se hai una directory / home / get / public_html / videos / foo
non cancella i file in essi contenuti? Ciò sarebbe dovuto al fatto che hai impostato l'argomento -maxdepth 0
, che impedisce a find
di scendere nelle sottodirectory.
-maxdepth 1