Affichage des articles dont le libellé est systeme. Afficher tous les articles
Affichage des articles dont le libellé est systeme. Afficher tous les articles

mardi 11 janvier 2011

Crontab, howto

Syntaxe générale :

*    *    *    *    * command to be executed 

-    -    -    -    - 
|    |    |    |    | 
|    |    |    |    +----- day of week (0 - 6) (Sunday=0) 
|    |    | +------- month (1 - 12) 
|    | +--------- day of month (1 - 31) 
| +----------- hour (0 - 23) 
+------------- min (0 - 59)

Générer un fichier de log :

* * * * * rm toto.txt > /var/log/cron_mv.log

Désactiver l'envoi de mail :

Par défaut, un email est envoyé au user lancant le cronjob. Pour ne pas envoyer de mail :
* * * * * rm toto.txt >/dev/null 2>&1

Variables d'environnement par défaut:

Par défaut, crontab initialise 4 variables d'environnement :
HOME=le repertoire home de l'utilisateur
LOGNAME=id de l'utilisateur
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh 


Variables d'environnement personnalisés:
Deux méthodes

-soit les initialiser dans le script appelé par crontab :

crontab:
* * * * * myscript.sh

myscript.sh:
#!/bin/bash
MYVAR=PROD
LANG=en_US.UTF-8
export MYVAR
export LANG
...
 

-soit les initialiser dans crontab :

crontab:
MYVAR=PROD
LANG=en_US.UTF-8
 
* * * * * myscript.sh

Attention, la valeur de la variable n'est jamais interpretée. Ainsi, PATH = $HOME/bin:$PATH ne fonctionnera pas comme on s'y attendrait.

Categories