Crontab sous Linux : EXEMPLES de planification de tâches

Qu’est-ce que crontab ?

Cron doit son nom au mot grec « Chronos » utilisé pour désigner le temps. Il s'agit d'un processus système qui effectuera automatiquement des tâches selon un calendrier spécifique. Il s'agit d'un ensemble de commandes utilisées pour exécuter des tâches de planification régulières. Crontab signifie « table cron ». Il permet d'utiliser le planificateur de tâches, connu sous le nom de cron, pour exécuter des tâches.

Crontab est également le nom du programme utilisé pour modifier ce calendrier. Il est piloté par un fichier crontab, un fichier de configuration qui indique les commandes shell à exécuter périodiquement pour un planning spécifique.

Pourquoi utiliser les Cronjobs ?

Voici les raisons d’utiliser Cronjobs sous Linux :

  • Aide le système d'exploitation à effectuer une sauvegarde planifiée des fichiers journaux ou de la base de données.
  • Supprimer les anciens fichiers journaux
  • ArchiVe et purger les tables de la base de données
  • Envoyez n'importe quel e-mail de notification tel que des newsletters, un e-mail d'expiration de mot de passe
  • Nettoyage régulier des données mises en cache
  • Crontab est une option idéale pour automatiser les tâches Unix.
  • Il est utilisé pour automatiser la maintenance du système

Comment utiliser cron sous Linux ?

Système Linux pack dispose d'un planificateur de tâches utile nommé crontab. Crontab est populaire car il peut être programmé pour exécuter un processus automatisé en tant que root. Par conséquent, avoir un processus automatisé exécuté en tant que root facilite les modifications du système. Il vous suffit de modifier la tâche, puis d'attendre que la tâche soit réinitialisée.

Format LinuxCrontab

Crontab de Linux comporte six champs. Les cinq premiers champs définissent l'heure et la date d'exécution, et le 6ème champ est utilisé pour l'exécution de la commande.

Syntaxe Crontab :

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Format LinuxCrontab

  • Astriques (*): Utiliser pour faire correspondre
  • Définir la plage : Vous permet de définir une plage à l'aide d'un trait d'union comme 1-10 ou 30-40 ou jan-mar, lundi-mer.
  • Définissez plusieurs plages : Vous permet de définir différentes plages avec des commandes séparées comme apr-jun, oct-dec.

Comment ajouter/modifier Crontab

L'utilisateur peut modifier ses tâches crontab à l'aide de la commande crontab suivante :

$ crontab -u -e 

La commande ci-dessus ouvrira la configuration crontab personnelle de votre système informatique, qui peut être modifiée à l'aide de votre éditeur de texte par défaut.

Il n'est pas nécessaire de redémarrer votre crontab car elle récupérera automatiquement vos modifications lorsque vous utiliserez la commande suivante.

$ crontab -l

Pour supprimer vos tâches crontab, utilisez la commande suivante.

$ crontab -r

Pour ajouter ou mettre à jour un travail dans crontab, utilisez la commande ci-dessous.

crontab -e

Commande pour modifier la crontab d'un autre utilisateur

crontab -u username -e

Comment répertorier Crontab

Commande pour afficher les entrées crontab de l'utilisateur actuel

crontab -l

Commande pour afficher les entrées crontab d'un utilisateur spécifique :

crontab -u username -l

Exemples importants de Crontab

Voici quelques exemples importants de Crontab

Description Command
Commande Cron pour effectuer les différentes tâches de planification.
La commande ci-dessous est exécutée à 7 heures du matin et à 5 heures tous les jours.
0 7,17 * * * /scripts/script.sh
Commande pour exécuter un cron toutes les 5 minutes.
*/5* * * * *  /scripts/script.sh
La commande du planificateur Cron vous aide à exécuter la tâche à chaque fois. Monday à 5 heures du matin. Cette commande est utile pour effectuer des tâches hebdomadaires telles que le nettoyage du système.
0 5 * * mon  /scripts/script.sh
La commande exécute votre script à intervalles de 3 minutes.
*/3 * * * * /scripts/monitor.sh
Commande pour planifier un cron qui s'exécute pendant un mois spécifique.
Cette commande pour exécuter des tâches s'exécute en février, juin et septembre. Parfois, nous devons planifier une tâche pour exécuter une tâche mensuelle sélectionnée.
* * * feb,jun,sep *  /script/script.sh
Commande à exécuter les jours sélectionnés. Cet exemple exécutera chaque Monday et mercredi à 5h.
0 17 * * mon,wed  /script/script.sh
Cette commande permet à cron de s'exécuter le premier samedi de chaque mois.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Commande pour exécuter un script pendant 6 heures afin qu'il puisse être configuré comme ci-dessous.
0 */6 * * * /scripts/script.sh
Cette commande planifie une tâche à exécuter deux fois sur Monday et mardi. Utilisez les paramètres suivants pour le faire.
0 4,17 * * mon,tue /scripts/script.sh
La commande planifie un cron à exécuter toutes les 15 secondes.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Commande de planifier les tâches sur une base annuelle.
@l'horodatage annuel est = à « 0 0 5 1 * ». Celui-ci exécute la tâche à la cinquième minute de chaque année. Vous pouvez l'utiliser pour envoyer des vœux de nouvel an.
@yearly /scripts/script.sh 
Tâches de commandement à exécuter sur une base mensuelle.
L'horodatage @monthly est similaire à « 0 0 1 * * ». Cette expression de commande permet l'exécution d'une tâche dans la première minute du mois.
@monthly /scripts/script.sh
Commande pour exécuter plusieurs tâches à l’aide d’un seul cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Commande permettant de planifier des tâches à exécuter sur une base hebdomadaire.
L'horodatage @weekly est similaire à « 0 0 4 * soleil ». Ceci est utilisé pour effectuer les tâches hebdomadaires comme le nettoyage du système, etc.
@weekly /bin/script.sh
La tâche sera planifiée pour être exécutée quotidiennement.
L'horodatage @daily est similaire à « 0 2 * * * ». Il exécute la tâche dans la deuxième minute de chaque journée.
@daily /scripts/script.sh
Permet aux tâches de s'exécuter toutes les heures.
L'horodatage @hourly est similaire à « 0 * * * * ». Cette commande exécute une tâche dans la première minute de chaque heure.
@hourly /scripts/script.sh
Permet aux tâches de s'exécuter au redémarrage du système.
L'expression @reboot est utile pour les tâches que le système souhaite exécuter au démarrage de votre système. Ceci est utile pour démarrer automatiquement les tâches en arrière-plan.
@reboot /scripts/script.sh

Résumé :

  • Cron doit son nom au mot grec « Chronos » utilisé pour désigner le temps.
  • Les tâches Cron aident le système d'exploitation à effectuer une sauvegarde planifiée des fichiers journaux ou de la base de données.
  • Le pack système Linux dispose d'un planificateur de tâches utile nommé crontab qui peut être programmé pour exécuter un processus automatisé en tant que root.
  • Crontab de Linux comporte six champs. Les cinq premiers champs définissent l'heure et la date d'exécution, et le 6ème champ est utilisé pour l'exécution de la commande.