Situatie
Stergerea fisierelor mai vechi de n zile in Linux cu ajutorul Terminalului
Solutie
Aceasta operatiune se va efectua cu ajutorul comenzii find.
- find /mnt/digi/ -type f -mtime +4 -exec rm — {} ;
Explicație
- /mnt/digi/ – este, evident, calea către directorul unde se vor căuta fișierele mai vechi de n zile (înlocuiți cu calea către directorul dorit de voi)
- -type f – comanda se va aplica numai fișierelor
- -mtime +4 – acest argument se folosește pentru a specifica fișierele care se vor șterge (am ales să șterg fișierele mai vechi de 4 zile) – mtime – se referă la zile
- -exec – acest argument permite transmiterea rezultatului comenzii find către o altă comandă (rm în cazul nostru)
În mod asemănător, putem face următoarele:
- Găsirea și ștergerea fișierelor modificate în ultimele 30 de minute (mmin se referă la minute):
find /tmp/ -type f -mmin 30 -exec rm {} ; - Forțarea stergerii fișierelor mai vechi de 30 de zile dintr-un director (de exemplu /tmp):
find /tmp -mtime +30 -exec rm -f {} ; - Mutarea fișierelor mai vechi de 30 de zile și să le arhivăm, păstrând structura directoarelor (opțiunea -t a comenzii mv se asigură că structura directoarelor este păstrată):
find /tmp -mtime +30 -exec mv -t {} /archive/directory/ ;
Leave A Comment?