crontab

Crontab sous Linux

Crontab sous Linux
Avec l'avènement des nouvelles technologies, nous voulons que tout soit automatisé y compris nos systèmes informatiques. Par exemple, en tant qu'administrateur système, nous pouvons souhaiter que notre sauvegarde soit exécutée tous les soirs à 2 heures du matin. Alors à quoi servent les ordinateurs si nous devons nous réveiller tous les jours à 2h00 et exécuter les commandes manuellement pour lancer la sauvegarde. Il devrait y avoir un moyen qui indique au système d'exécuter automatiquement une sauvegarde à un moment précis. Heureusement, Linux OS propose un utilitaire cron qui permet d'automatiser les tâches à une période spécifique.

Cron est un utilitaire de ligne de commande efficace et populaire utilisé pour planifier un large éventail de tâches à une heure spécifiée sans interaction de l'utilisateur. Les tâches planifiées sont appelées tâches cron tandis que la crontab est la liste du fichier contenant les tâches cron.

Dans cet article, nous expliquerons avec divers exemples que vous pouvez éditer et utiliser le fichier crontab afin de planifier des tâches dans le système Debian 10.

Cron peut être utilisé pour automatiser des tâches dans les scénarios suivants :

Syntaxe

Il est plus facile de travailler avec cron, une fois que vous avez compris sa syntaxe. La syntaxe générale pour utiliser cron est :

* * * * /chemin/vers/script.sh

Chacun des champs correspond à ce qui suit :

Minute (0-59) Heure (0-24) Jour_du_mois (1-7) Mois_de_l'année (1-12)
Commande Day_of_the_Week (0-6)

Installation de Cron

Cron est préinstallé dans Debian 10. Cependant, s'il est absent de votre système, exécutez la commande suivante pour l'installer :

$ sudo apt installer cron

Voir crontab

Pour afficher le fichier crontab, utilisez la commande suivante :

$ crontab -l

Pour afficher le fichier crontab d'un utilisateur particulier, utilisez la commande suivante :

$ sudo crontab -u utilisateur -l

Modifier la crontab

Pour modifier le fichier crontab de l'utilisateur actuel :

$ crontab -e

Pour modifier le fichier crontab d'un utilisateur particulier :

$ sudo crontab -u utilisateur

Si vous modifiez le fichier crontab pour la première fois, il vous sera demandé de choisir un éditeur :

Une fois que vous avez sélectionné l'éditeur, la fenêtre suivante apparaîtra.

Par exemple, vous souhaitez exécuter un script de sauvegarde nommé « sauvegarde.sh" situé dans le répertoire des documents tous les jours à 2h00 du matin. Pour ce faire, vous devrez ajouter la ligne suivante dans votre fichier crontab :

0 2 * * * /Documents/sauvegarde.sh

Dans la fenêtre ci-dessus, vous pouvez ajouter vos tâches cron une par une. Une fois cela fait, enregistrez et quittez le fichier après quoi toutes les tâches cron s'exécuteront automatiquement à leur intervalle spécifié.

Supprimer le crontab

Pour supprimer le fichier crontab, entrez la commande suivante dans Terminal :

$ crontab -r

Passons maintenant en revue une série d'exemples de tâches cron sur une machine Linux.

1. Exécuter une tâche cron toutes les minutes

Pour exécuter une tâche cron toutes les minutes, ajoutez la ligne suivante dans votre fichier crontab :

* * * * * /chemin/vers/script.sh

2. Exécuter une tâche cron toutes les 10 minutes

Pour planifier une tâche cron à exécuter toutes les 10 minutes, ajoutez la ligne suivante dans votre fichier crontab.

*/10 * * * * /chemin/vers/script.sh

3. Exécuter une tâche cron sur des mois spécifiques

Pour planifier une tâche cron à exécuter sur des mois spécifiques e.g. Mars, août, décembre, ajoutez la tâche cron dans votre fichier crontab de la manière suivante :

* * * janvier, mai, août * /chemin/vers/script.sh

4. Exécuter une tâche cron les jours sélectionnés

Si vous souhaitez que votre tâche cron soit exécutée les jours sélectionnés, supposons que le dimanche et le vendredi à 17 heures, cela devrait ressembler à ce qui suit.

0 17 * * soleil, ven /chemin/vers/script.sh

5. Exécuter une tâche cron quotidiennement à une heure précise

Pour planifier une tâche cron à exécuter quotidiennement à une heure précise, disons à 3 heures du matin, ajoutez cette ligne dans votre fichier crontab.

0 3 * * * /chemin/vers/script.sh

6. Exécuter une tâche cron un jour spécifique

Pour planifier une tâche cron à exécuter un jour spécifique, disons tous les dimanches, ajoutez cette ligne dans votre fichier crontab.

0 0 * * SUN /chemin/vers/script.sh

Le travail s'exécutera à 00h00 tous les dimanches.

7. Exécuter plusieurs tâches dans une seule tâche cron

Pour planifier plusieurs tâches dans une seule tâche cron, ajoutez tous les scripts dans votre fichier crontab en les séparant par un point-virgule.

* * * * * /chemin/vers/script1.ch; /chemin/vers/script2.sh

8. Exécuter une tâche cron sur tous jour de la semaine

Pour planifier une tâche cron à exécuter tous les jours de la semaine du lundi au vendredi, vous devrez ajouter cette ligne dans votre fichier crontab.

0 0 * * 1-5 /chemin/vers/script.sh

Le travail s'exécutera à 00h00 tous les jours de la semaine.

9. Exécuter une tâche cron deux fois par jour

Pour planifier une tâche à exécuter deux fois par jour e.g. à 6h et 15h, vous devrez ajouter cette ligne dans votre fichier crontab :

0 6,15 * * * /chemin/vers/script.sh

dix. Exécuter une tâche cron toutes les heures

Pour planifier une tâche cron à exécuter toutes les heures à la minute 0, vous devrez ajouter cette ligne dans votre fichier crontab :

0 * * * * /chemin/vers/script.sh

Par exemple, si l'heure actuelle est 14h00, le travail sera exécuté à 15h00, 16h00 et ainsi de suite.

11. Exécuter une tâche cron toutes les 3 heures

Pour planifier l'exécution d'une tâche cron toutes les 3 heures à la minute 0, vous devrez ajouter cette ligne dans votre fichier crontab :

0 */3 * * * /chemin/vers/script.sh

Par exemple, si l'heure actuelle est 14h00, le travail sera exécuté à 17h00, 20h00 et ainsi de suite.

12. Exécuter la tâche cron à 16h00 le premier de chaque mois

Pour programmer une tâche pour qu'elle s'exécute le premier jour de chaque mois à 16h00, vous devrez ajouter cette ligne dans votre fichier crontab :

0 16 1 * * /chemin/vers/script.sh

Cordes dans Crontab

Vous pouvez également utiliser les chaînes suivantes plutôt que les longues commandes répétitives.

@hourly- Exécuter la tâche cron toutes les heures i.e. " 0 * * * * "
@minuit- Exécutez le travail cron tous les jours i.e. " 0 0 * * * "
@daily- comme minuit
@weekly- Exécutez le travail cron chaque semaine, je.e. " 0 0 * * 0 "
@monthly- Exécuter la tâche cron tous les mois i.e. " 0 0 1 * * "
@annuellement - Exécuter la tâche cron chaque année i.e. " 0 0 1 1 * "
@annuellement - identique à @annuellement
@reboot- Exécuter la tâche cron à chaque démarrage

Par exemple, pour exécuter la tâche cron tous les jours pendant la première minute et la première heure, ajoutez la ligne suivante :

@daily /chemin/vers/script.sh

Par exemple, pour exécuter la tâche cron à chaque redémarrage du serveur :

@reboot /chemin/vers/script.sh

C'est tout ce qu'il y a à faire! Dans cet article, nous avons appris à automatiser diverses tâches à l'aide de crontab dans le système Debian. En utilisant les exemples ci-dessus, vous pouvez programmer n'importe quel type de tâche à lancer sans aucune interaction de l'utilisateur.

Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...