Scrip per eliminare i file più vecchi di 6 mesi


12

Impostazione di un processo cron per una volta al mese per avviare uno script.

lo script deve ruotare un file ogni mese quando diventa troppo grande e rinominare quello vecchio. quando un file è più vecchio di sei mesi volevo che fosse cancellato.

Sto cercando di eseguire questo script una volta al mese. È possibile cancellare quello vecchio?

Per favore fatemi sapere se non è abbastanza chiaro.


11
Perché non usare solo logrotate?
Michael Hampton,

@scottmarriott sì, l'onorevole Hampton ha ragione, la funzionalità che hai descritto è sostanzialmente la cosa esatta che Logrotate fa.
Bratchley,

Sì, ho appena avuto una buona occhiata a logrotate ha senso applausi tutti
scott marriott

@MichaelHampton dovresti dare una risposta.
evilsoup,

Risposte:


20

Potresti iniziare con questo:

find /your/file -mtime +182 -exec rm {} +

Dove +182sono i giorni quantità.


Grazie per questo, potrei giocarci, ma forse logrotare potrebbe essere l'opzione migliore
scott marriott

@jordanm qualche idea sul perché questo potrebbe non funzionare?
Scott marriott,

ApplicationServer / logs / TestClone01 $ ls -ltr total 3320 1048458 13 dic 09:46 SystemOut_12.12.13_09.46.29.log 28 mag 12:44 SystemOut.log.2013-05-28-12: 44: 52 71 30 mag 08: 57 SystemOut.log.2013-05-30-08: 57: 22 48432 30 mag 09:16 SystemOut.log no_env): / usr / websphere6 / was61TE_LV2 / ApplicationServer / logs / TestClone01 $ find SystemOut.log -mtime +1 - exec rm {} + find: 0652-083 Impossibile eseguire :: Non esiste un file o una directory nel nome del percorso.
scott marriott,

Ho cambiato il numero di giorni in 1
scott marriott

@scottmarriott Non tutte le versioni del findsupporto +/-per -mtime. Quale sistema operativo e versione findhai?
Giordania,

2

Puoi solo usare logrotate. È già disponibile sulla maggior parte dei sistemi Linux e molti pacchetti hanno già script logrotate preconfigurati, oppure è possibile modificarli o scrivere i propri.

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.