Crontab
Crontab is a time-based job scheduler in Unix-like operating systems. It allows users to schedule commands or scripts to run automatically at specified times or intervals. The crontab command is used to manage and edit a user's crontab file, which contains the list of jobs that will be executed by the system at the specified times.
For more information, you can refer to the Crontab Wiki.
Fonctionnement
Les lignes se décomposent comme suit :
mm hh jj MMM JJJ tâche utilisateur commande
Soit la définition suivante :
- mm : pour les minutes (de 0 à 59).
- hh : pour l’heure (de 0 à 23).
- jj : pour le numéro du jour du mois (de 1 à 31).
- MMM : pour le nom du mois (jan, feb, …)/le numéro du mois (de 1 à 12).
- JJJ : pour le nom du jour/le numéro du jour dans la semaine. (0=Dimanche, 1=Lundi, …)
Pour spécifier que la tâche s’applique tous les jours, on utilisera le caractère étoile (*). Par exemple si l’on souhaite redémarrer notre machine tous les jours à 2 heures 30, il suffit d’ajouter la ligne suivante :
30 2 * * * root reboot
Modification du crontab
crontab -e
Ajouter un log au crontab
0 */12 * * * root php /var/www/html/core/ldap.php >> /var/log/ldap_sync.log 2>&1
Vérifier les crontab de tous les utilisateurs
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done