Recherche de site Web

11 exemples de tâches de planification Cron sous Linux


Dans cet article, nous allons examiner et voir comment planifier et exécuter automatiquement des tâches Linux en arrière-plan à intervalles réguliers à l'aide de la commande Crontab.

Traiter manuellement un travail fréquent est une tâche ardue pour les administrateurs système et ces tâches peuvent être planifiées et exécutées automatiquement en arrière-plan sans intervention humaine à l'aide du démon cron sous Linux ou un système d'exploitation de type Unix.

Par exemple, vous pouvez automatiser la sauvegarde du système Linux, planifier les mises à jour et la synchronisation des fichiers, et bien d'autres choses encore, à l'aide du démon Cron, qui est utilisé pour exécuter des tâches planifiées à partir de la ligne de commande. ou utilisez des outils en ligne pour générer des tâches cron.

Cron se réveille toutes les minutes et vérifie les tâches planifiées de manière dénombrable – Crontab (CRON TAble) est une table où nous pouvons planifier ce type de tâches répétées .

Conseils : Chaque utilisateur peut avoir sa propre crontab pour créer, modifier et supprimer des tâches. Par défaut, cron est activé pour les utilisateurs, cependant, nous pouvons restreindre les utilisateurs en ajoutant une entrée dans le fichier /etc/cron.deny.

Crontab sous Linux

Le fichier Crontab se compose de commandes par ligne et comporte en réalité six champs séparés soit par un espace, soit par une tabulation. Les cinq premiers champs représentent le temps d'exécution des tâches et le dernier champ est pour la commande.

  • Minute (conserver les valeurs entre 0-59)
  • Heure (conserver les valeurs entre 0 et 23)
  • Jour du mois (conserver les valeurs entre 1 et 31)
  • Le mois de l'année (conservez les valeurs entre 1-12 ou Jan-Dec, vous pouvez utiliser les trois premières lettres du nom de chaque mois, c'est-à-dire Jan ou Jun.)
  • Jour de la semaine (conservez les valeurs entre 0-6 ou Dim-Sat. Ici également, vous pouvez utiliser les trois premières lettres du nom de chaque jour, c'est-à-dire Sun ou WedSun-Sat. /fort>. )
  • Commande – Le /path/to/command ou le script que vous souhaitez planifier.

1. Répertorier les entrées Crontab

Répertoriez ou gérez la tâche avec la commande crontab avec l'option -l pour l'utilisateur actuel.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Modifier les entrées Crontab

Pour modifier l'entrée crontab, utilisez -e l'option indiquée ci-dessous. L'exemple ci-dessous ouvrira les tâches planifiées dans l'éditeur VI. Apportez les modifications nécessaires et arrêtez d'appuyer sur les touches :wq qui enregistrent automatiquement le paramètre.

crontab -e

3. Répertorier les tâches Cron planifiées de l'utilisateur

Pour répertorier les tâches planifiées d'un utilisateur particulier appelé tecmint en utilisant l'option -u (Utilisateur) et -l (Liste).

crontab -u tecmint -l

no crontab for tecmint

Remarque : Seul l'utilisateur root dispose de privilèges complets pour voir les entrées crontab des autres utilisateurs. Les utilisateurs normaux ne peuvent pas voir les autres.

4. Supprimer l'entrée Crontab

Attention : Crontab avec -r le paramètre supprimera les tâches planifiées complètes sans confirmation de Crontab. Utilisez l'option -i avant de supprimer la crontab de l'utilisateur.

crontab -r

5. Invite avant de supprimer Crontab

crontab avec -i l'option vous demandera la confirmation de l'utilisateur avant de supprimer la crontab de l'utilisateur.

crontab -i -r

crontab: really delete root's crontab?

6. Caractères spéciaux autorisés (*, -, /, ?, #)

  • Astérisque(*) – Faire correspondre toutes les valeurs du champ ou toute valeur possible.
  • Trait d'union (-) – Pour définir une plage.
  • Slash (/) – 1er champ /10 signifiant toutes les dix minutes ou incréments de portée.
  • La Virgule (,) – Pour séparer les éléments.

7. Planification Cron à l'échelle du système

Un administrateur système peut utiliser le répertoire cron prédéfini comme indiqué ci-dessous.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

8. Planifiez un travail pour une heure précise

Les tâches ci-dessous suppriment les fichiers et répertoires vides de /tmp à 00h30 tous les jours. Vous devez mentionner le nom d'utilisateur pour exécuter la commande crontab. Dans l'exemple ci-dessous, l'utilisateur root effectue une tâche cron.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. Chaînes spéciales pour l'horaire commun

@reboot

La commande s'exécutera au redémarrage du système.

@daily

Une fois par jour ou peut utiliser @midnight.

@weekly

Une fois par semaine.

@yearly

Une fois par an. nous pouvons également utiliser le mot-clé @annually.

Vous devez remplacer cinq champs de la commande cron par des mots-clés si vous souhaitez les utiliser.

10. Commandes multiples avec double esperluette (&&)

Dans l'exemple ci-dessous, command1 et command2 s'exécutent quotidiennement.

crontab -e

@daily <command1> && <command2>

11. Désactivez les notifications par courrier électronique.

Par défaut, cron envoie un courrier au compte utilisateur qui exécute la tâche cron. Si vous souhaitez le désactiver, ajoutez votre tâche cron similaire à l'exemple ci-dessous. L'utilisation de l'option >/dev/null 2>&1 à la fin du fichier redirigera toute la sortie des résultats cron sous /dev/null.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

conclusion : L'automatisation des tâches peut nous aider à effectuer nos tâches de manière plus efficace, sans erreur et de manière efficace. Vous pouvez vous référer à une page de manuel de crontab pour plus d'informations en tapant la commande « man crontab » dans votre terminal.