Les fonctions Crontab & at

1. Pour quoi faire

Crontab est un utilitaire bien utile et plutôt simple à mettre en oeuvre. Il permet de programmer des actions régulières sur votre machine. Par exemple est ce que tel process tourne toujours, est ce que ma ligne ADSL est toujours active, éventuellement faire des sauvegardes.

at permet quant à lui de lancer des actions à une heure donnée, un jour donné, mais sans répétition.

2. L’installation

Pas grand chose à dire sur l’installation de crontab sur votre machine, ni même de la commande at. Par défaut cela tourne déjà. Si ce n’est pas le cas installer les paquetages suivants :at-3.1.7-….rpm et crontabs-1.7-8mdk….rpm.

[Lire]

Rotation du fichier de log Tomcat catalina.out

Extrait de la crontab mise en place :

DATE=`date "+%Y-%m-%d"`
# Rotation des log et purge des fichiers de plus de 30 jours (logrotate tourne *.log)
59 0 * * * cp -p /opt/tomcat/logs/catalina.out /opt/tomcat/logs/catalina.out.$DATE && echo -n > /opt/tomcat/logs/catalina.out && gzip /opt/tomcat/logs/catalina.out.$DATE
# Supp des fichiers de plus de 30 jours
0  2 * * * find /opt/tomcat/logs/ -mtime +30 -type f -exec rm -fr {} \;
  • cp -p : conserve les droit
  • echo -n : reinitialize le fichier de log courant
  • gzip : compression du log j-1

Version script que l’on peut mettre dans /etc/cron.daily par exemple

DATE=`date "+%Y-%m-%d"`
CATALINA_HOME=/usr/local/apache-tomcat-6.0.26

cp -p $CATALINA_HOME/logs/catalina.out $CATALINA_HOME/logs/catalina.out.$DATE && echo -n > $CATALINA_HOME/logs/catalina.out && gzip $CATALINA_HOME/logs/catalina.out.$DATE

find $CATALINA_HOME/logs/ -mtime +30 -type f -exec rm -fr {} \;