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"