Article mis à jour le : 05-05-2022
Mini tutorial pour expliquer comment réaliser des tâches avec cronCrontab est une commande qui permet de modifier le fichier contenant la liste des tâches à effectuer, leur lancement étant réalisé par le programme cron.
Attention : ne pas confondre avec SHELL, qui est un language utilisé pour réaliser des scripts, pouvant être complexes. CRON permet par exemple d'exécuter ces scripts selon divers paramétrages, par exemple à des intervalles régulier.
Tout d'abord, créez un script bidon : sur votre bureau, créez un fichier texte puis ouvrez-le avec votre éditeur. A l'intérieur, collez-ceci :
Enregistrez et fermez. Renommez-le monScript.sh. Lancez-le, choisir "Lancer dans un terminal" (si vous n'avez pas cette option, prenez 30 secondes pour lire ceci ). Normalement, la console se lance, affiche "Toutou", fait une pause de 5 secondes, puis affiche "Tatie", avant de se fermer. Notre script fonctionne.
Maintenant, je souhaite que mon petit script s'exécute automatiquement toutes les minutes. Lancez la console, et saisissez :
Puis tapez ensuite :
Apparait alors :
Je vous conseille de choisir le 2. Notez que cette opération n'est à réaliser que la première fois.
Vous voici à présent dans votre contab. Tout est en commentaire (il y a un dièse devant chaque ligne). Soit vous supprimez tout, soit vous saisissez vos tâches tout en bas pour des raisons de clarté. Quand vous aurez saisi votre tâche, faites Ctrl+X puis "O" pour sauvegarder.
Mais comment paraméter notre script? Collez juste cette-ligne puis sauvegardez :
Pensez à remplacer "eric" par votre nom d'utilisateur.
Cette ligne va dire à cron d'exécuter monScript.sh toutes les minutes, du lundi au vendredi, de 9 heures à 17 heures. Enfin, il sauvegardera un log dans monScript.log.
Attendez 1 minute, le fichier monScript.log apparait sur le bureau. Vous pouvez l'ouvrir, et vous y trouverez le contenu du texte que nous souhaitions afficher. Cela marche donc.
NOTEZ BIEN LES ESPACES ENTRE LES ETOILES! (vous comprendrez plus loin)
Comment utiliser les paramètres de cron? Voici :
Notez qu'il ne doit y avoir jamais plus d'un espace entre chaque paramètre.
Voici une image explicant bien les emplacements pour les dates et heures (issu de stackoverflow) :
Ainsi, le 12 juin, peut importe le jour de la semaine, à 9h30, s'exécutera se script.
A midi et 17h00, tous les jours, tous les mois, peu importe le jour de la semaine
Tous les jours de la semaine sauf samedi et dimanche, à chaque heure pile, de 9 heures à 17h :
Toutes les minutes :
Toutes les 10 minutes :
Le premier jour de chaque année :
Le premier jour du mois :
Tous les jours (à 00:00) :
Pour consulter les logs et avoir ainsi accès à certaines informations comme les échecs, tout se trouve dans le fichier :
Pour faire le tri et ne voir que ce qui concerne les tâches CRON :