Cancellare file o direcorty più vecchi di x giorni


Il seguente script cancella file e direcorty più vecchi di 1 giorno creati sotto la directory /tmp.

vi /opt/work/delete_tmp.sh

#!/bin/bash -x

export retention=1440

export DIR_TMP=/tmp

find $DIR_TMP -name "s*" -type f -mmin +$retention -exec rm '{}' \;

find $DIR_TMP -name "jet*" -type d -mmin +$retention -exec rm -rf '{}' \;

find $DIR_TMP -name "hspe*" -type d -mmin +$retention -exec rm -rf '{}' \;

exit

il comanco find -mmin +x trova i file modificati più di x minuti.

Dare i permessi di scruttuta e ed esecuzione del file
chmod 755  delete_tmp.sh

Creare il file di crontab
# crontab -e
01 01 * * * /opt/work/delete_tmp.sh 1>/dev/null 2>&1

Lo script gira tutti i giorni alle ora 01:01 e redirige lo standard output su /dev/null e lo standard error sullo standard output, scartando ogni messaggio di output (compresi quelli di errore).
/dev/null è noto come "null device"

Post popolari in questo blog

Create e Drop Pluggable Database

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione