Utilizzo di un cronjob per pulire / tmp


11

È sicuro usare uno script bash e un cronjob per svuotare /tmpautomaticamente o dovrei farlo diversamente?

Risposte:


13

/tmpviene ripulito ad ogni riavvio del sistema, ma per i sistemi che non possono essere riavviati spesso e specialmente se l'unico obiettivo è quello di pulire /tmpuno script può essere fatto per ripulirlo.

Nessun processo dovrebbe contenere dati importanti lì, ma è importante che tu sia in grado di pulire /tmpsenza interrompere i processi in cui scrivono i dati tmp.

Consiglio di usarlo tmpreaperper questo.

Puoi installarlo con sudo apt-get install tmpreaper.

Dalla pagina man:

tmpreaper cerca e rimuove ricorsivamente file e directory vuote a cui non è stato effettuato l'accesso per un determinato numero di secondi. Normalmente, viene utilizzato per ripulire le directory che vengono utilizzate per lo spazio di trattenimento temporaneo, come "/ tmp". Si prega di leggere la sezione AVVERTENZE di questo manuale.

Utilizzo comporta normalmente invocando tmpreaperin /tmpcon argomento una volta spec. L'argomento della specifica del tempo può essere qualsiasi dper giorni, hore, mminuti o ssecondi.

Si prega di utilizzare il --testciclo a secco e ottenere un output dei risultati prima di eseguire effettivamente il comando. Ciò ti darà un'idea di ciò che verrà eliminato prima di eseguire effettivamente le modifiche al file system.


Grazie! Per rispondere pienamente alla mia domanda, puoi spiegarmi perché è meglio che usare una semplice rimozione ricorsiva?
Jochem Kuijpers,

1
Non è, è solo più semplice da usare e gli argomenti utilizzati sono più comprensibili. Un semplice rm -rfsu un elenco di file restituiti findfarebbe anche il lavoro. Questo è "solo un altro modo", nemmeno dire che è il migliore, solo quello che uso sui server che ho installato.
Bruno Pereira,

tmpreapersembra un buon strumento, vale la pena usare --teste --showdeletesdurante i test.
RichVel,

3

Prova ad aggiungere un cronjob che viene eseguito

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

Ciò eliminerebbe tutti i file più vecchi di 5 giorni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.