Sto cercando di rimuovere alcuni file di archivio da una cartella su un fileserver CentOS con un cronjob. I requisiti:
- Rimuovi i file del mese scorso
- Il file .tgz del primo giorno del mese dovrebbe essere lasciato intatto.
So che posso rimuovere i file più vecchi di x giorni con:
find /path -mtime +30 -exec rm {} \;
Tuttavia, questo non lascerà da solo l'archivio creato il primo giorno del mese. Internet non sembra fornire una risposta (ancora).
+29
invece di +30
fare?
find /path -mtime +30 ! -name log-2013-02-01.tgz -exec rm {} \;
?
log-2013-02-27.tgz
e simili? In quel caso potresti correretouch *-01.tgz
prima difind
comando. Tutti i file dal primo di ogni mese devono essere aggiornati con il timestamp corrente e quindi non corrispondenti.