GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere file più vecchi di N giorni usando tmpreaper in Linux

tmpreaper è uno strumento per rimuovere i file a cui non si accede per un certo periodo di tempo.

Nelle distribuzioni desktop Linux, questo è utile per pulire directory come "~/Downloads", in cui i file vengono accumulati in un periodo di tempo.

Sulle distribuzioni di server Linux, questo è utile per pulire i vecchi file di registro o i file di backup che non sono più necessari.

tmpreaper ricerca e rimuove ricorsivamente file e directory a cui non si accede per un determinato periodo di tempo.

AVVISO: Prima di installare tmpreaper e iniziare a giocarci, assicurati di aver compreso le implicazioni dell'esecuzione di tmpreaper, poiché eliminerà tutti i file dal tuo sistema che corrispondono ai criteri indicati. NON eseguire tmpreaper su / (directory principale), che potrebbe eliminare i file critici necessari per mantenere in esecuzione il sistema. Non esiste alcuna protezione incorporata nel programma tmpreaper per impedirti di eseguire nella directory principale, poiché ciò renderebbe difficile l'uso di tmpreaper in un ambiente con chroot.

1. Installa tmpreaper

Su sistemi basati su Debian come Ubuntu, usa apt-get:

$ sudo apt-get install tmpreaper

Su sistemi basati su RPM come CentOS e RedHat, usa yum:

$ sudo yum -y install tmpreaper

Sintassi del comando Tmpreaper:

$ tmpreaper [options]  <time_spec> <dirs>

2. Rimuovi i file più vecchi di N giorni

Per rimuovere i file che sono più vecchi di 5 giorni, usa "5d" come specifica temporale.

Ad esempio, il comando seguente eliminerà i file dalla cartella ~/Download a cui non è stato effettuato l'accesso negli ultimi 5 giorni.

$ tmpreaper 5d ~/Downloads

3. Rimuovi i file che non vengono modificati per N giorni

Per impostazione predefinita, tmpreaper eliminerà i file in base a "Tempo di accesso". Puoi usare l'opzione "-m" per dire a tmpreaper di eliminare i file in base al "Tempo di modifica".

Il comando seguente cancellerà i file che non vengono modificati per 5 giorni nella cartella Download.

$ tmpreaper -m 5d ~/Downloads

Puoi anche utilizzare i seguenti caratteri per il parametro time_spec

  • d – per giorni
  • h – per ore
  • m – per minuti
  • s – per secondi

4. Rimuovi i collegamenti simbolici usando -s

Usa l'opzione -s per rimuovere anche i collegamenti simbolici, non solo i file e le directory.

Oltre a ripulire i file e le directory, il comando seguente ripulirà anche i collegamenti simbolici che corrispondono alle specifiche temporali fornite.

$ tmpreaper -s 5h ~/Downloads

5. Rimuovi tutti i tipi di file usando -a Option

Usa l'opzione -a per rimuovere tutti i tipi di file, non solo file normali, directory e collegamenti simbolici.

$ tmpreaper -a 5m ~/Downloads

6. Esegui un test di prova:prova l'eliminazione usando l'opzione -t

Utilizzare l'opzione -t per verificare quali file verranno eliminati.

Questo è molto utile quando lo si esegue su una directory importante e si desidera esattamente quali file verranno eliminati prima che vengano effettivamente eliminati.

Questa opzione non rimuove i file.

$ tmpreaper -t 5d ~/Downloads
(PID 5415) Pretending to clean up directory `/home/lakshmanan/Downloads'.
(PID 5416) Pretending to clean up directory `.tmp_versions'.
(PID 5416) Back from recursing down `.tmp_versions'.

7. Forza l'eliminazione dei file usando l'opzione -f

Usa l'opzione -f per forzare l'eliminazione dei file. Normalmente i file di proprietà dell'utente corrente (EUID) senza accesso in scrittura non vengono rimossi. L'uso di -f rimuoverà anche quei file.

$ tmpreaper -f 5h ~/Downloads

8. Non eliminare i file corrispondenti a un modello utilizzando l'opzione –protect

Usa –protect '' per proteggere i file di corrispondenza dei modelli dall'eliminazione.

Ad esempio, il comando seguente cancellerà tutti i file tranne i file ".c".

$ tmpreaper  --protect '*.c' -t 5h ~/my_prg
Entry matching `--protect' pattern skipped. `hello.c'
Pretending to remove file `./.hello.o'.

9. Utilizzo di tmpreaper in Cron

Per impostazione predefinita, quando installi tmpreaper, inserirà una voce in crontab ( /etc/cron.daily/tmpreaper ). Leggerà le opzioni da /etc/tmpreaper.conf ed eseguirà il comando tmpreaper in base a tali opzioni.

Il file /etc/tmpreaper.conf è autoesplicativo e facile da capire. Per impostazione predefinita eliminerà i file che hanno 7 giorni in /tmp si aspettano alcuni tipi di file. Se prevedi di usarlo, rimuovi la riga 'SHOWWARNING=true' da /etc/tmpreaper.conf.

Una volta rimossa la riga, tmpreaper verrà eseguito quotidianamente per pulire le directory specificate senza l'intervento dell'utente.


Linux
  1. Come eseguire il confronto riga per riga dei file in Linux usando il comando diff

  2. Come eliminare tutti i file più vecchi di X numero di giorni in Linux?

  3. Come trovare i file modificati negli ultimi 30 giorni in Linux?

  4. Come ordinare i file in Linux usando il comando di ordinamento

  5. Come si eliminano i file più vecchi di una data specifica in Linux?

Come trovare i file usando la riga di comando nel terminale Linux

Come rinominare i file usando la riga di comando in Linux

Come rimuovere file con estensione specifica in Linux

Come eliminare file più vecchi di giorni specificati in Linux

Come rimuovere/eliminare file in Linux usando il comando rm

Come copiare file in Linux usando il comando CP