Cum se pot șterge fișiere mai vechi de n zile în Linux cu ajutorul Terminalului

Configurare noua (How To)

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/ ;

Tip solutie

Permanent

Voteaza

(12 din 34 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?