Dans ce tutoriel, vous apprendrez tout ce que vous devez savoir sur Cronjob. Nous expliquerons ce qu'est un cronjob et comment en créer un et nous essaierons de le rendre moins déroutant.
Qu'est-ce qu'un Cronjob ?
Un Cronjob est une tâche qui se fait automatiquement à un moment précis. Prenons sudo apt-get update
par exemple.
Si vous voulez garder votre référentiel apt à jour à tout moment, vous pouvez utiliser un Cronjob pour le faire pour vous, une fois par jour par exemple.
Comment fonctionne un Cronjob ?
Nous utilisons une instance d'Ubuntu pour cet exemple. Une fois connecté, exécutez :
sudo crontab -e
Si vous l'exécutez pour la première fois, on vous demandera quel éditeur vous souhaitez utiliser par défaut. Nous recommandons d'utiliser Nano pour les débutants.
Et voici à quoi ressemble votre fichier crontab lorsque vous l'ouvrez pour la première fois :
Ce fichier crontab est l'endroit où vous souhaitez ajouter tous vos cronjobs. Il est important de vous familiariser avec la syntaxe.
Maintenant, lorsque vous regardez la ligne du bas, vous pouvez voir la commande m h dom mon dow
C'est ce que vous devez comprendre, alors décomposons-le :
m | h | dom | lundi | dow |
Minutes | Heure | Jour du mois | Mois | Jour de la semaine |
D'accord, cela devrait déjà vous éclairer.
Maintenant, nous devons comprendre avec quelles valeurs nous pouvons travailler :
- Minutes :0 - 59
- Heures :0 - 23
- DOM :1 - 31
- Mois :1 - 12
- DOW : 0 correspond à dimanche et 7 à dimanche, par exemple :
- 0 - 6 => dimanche - samedi ou
- 1 - 7 => lundi - dimanche
- Vous n'utilisez généralement pas 7, mais seulement 0-6
- * Est un caractère générique, ce qui signifie que si vous prenez le champ des minutes et que vous y mettez un caractère générique, il s'exécutera toutes les minutes.
Faisons un petit test par vous-même :définissez un Cronjob qui s'exécute tous les samedis à 14h30 .
Réponse :
30 14 * * 6
Très bien, cela devrait donc vous donner une assez bonne idée de la façon de régler l'heure en conséquence. L'ensemble de la commande ressemblerait alors à ceci :
15 23 15 * * sudo apt-get update
Code language: JavaScript (javascript)
Cela exécuterait sudo apt-get update à 23h15, tous les mois le 15, quel que soit le jour.
Au cas où vous ne pourriez vraiment pas comprendre, rendez-vous sur https://crontab.guru/ et laissez cet outil réfléchir à votre place.
Configurer une tâche cron
Et enfin, définissons le Cronjob :
sudo crontab -e
Faites défiler jusqu'au bas du fichier et entrez l'heure et la commande souhaitées :
30 14 * * * sudo apt-get update
Code language: JavaScript (javascript)
Appuyez sur CTRL + O pour écrire le fichier et CTRL + X partir (Nano)
Conclusion
Cela devrait vous donner une assez bonne idée du fonctionnement réel des Cronjobs. Une fois que vous avez compris la logique, c'est très simple.