Vorrei eliminare i file più vecchi di 59 minuti. Finora l'ho fatto:Elimina file più vecchi di X minuti
find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*" -exec rm -f {} \;
Questo non funziona e sembra eliminare tutti i file. L'ho provato più volte e penso che il problema riguardi lo daystart
.
Ho letto la pagina man e sembra che il tempo di base all'inizio della giornata, piuttosto che da 24 ore fa. In questo caso, come posso cancellare con precisione file più vecchi di 59 minuti? Devo contabilizzare per daystart
e aggiungere qualche minuto in più?
Esempio:
[email protected]:/tmp$ ls -la
total 8
drwxrwxrwt 2 root root 4096 Jul 20 14:39 ./
drwxr-xr-x 23 root root 4096 Jun 25 18:34 ../
-rw-rw-r-- 1 ubuntu ubuntu 0 Jul 20 12:35 a.txt
Entrambi i seguenti comandi, restituire il file:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*"
/tmp/a.txt
E:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +359 -type f -name "*.*"
/tmp/a.txt
Tuttavia, il file non è più vecchio di 659 minuti (10.9 ore)! Ma a 759 (12.65 ore), non restituisce più il file?
A proposito. Mi piace il parametro '-delete' invece di' -exec rm -f {} \; '. – lanes