Cron est un service de planification de tâches basé sur le temps dans les systèmes d'exploitation de type Unix. Les utilisateurs peuvent programmer des tâches (commandes ou scripts) à exécuter à des heures, dates ou intervalles spécifiques. Cette fonctionnalité est particulièrement utile pour automatiser les tâches de maintenance du système, exécuter des scripts ou même envoyer des courriers électroniques à des intervalles précis.

L'anatomie d'un emploi Cron

Il est essentiel de comprendre la structure d'une tâche Cron. Un travail Cron est une simple ligne dans un fichier crontab (table Cron) représentant une commande programmée pour être exécutée à des intervalles spécifiques. Une entrée crontab comporte six champs :

  1. Minutes (0 - 59)
  2. Heures (0 - 23)
  3. Jour du mois (1 - 31)
  4. Mois (1 - 12)
  5. Jour de la semaine (0 - 7, où 0 et 7 représentent tous deux le dimanche)
  6. Commande à exécuter

Mise en place d'une tâche Cron

Pour programmer un travail Cron, vous devez éditer le fichier crontab. Vous pouvez le faire à l'aide de la commande crontab -e qui ouvre le fichier crontab dans un éditeur de texte. Voici un petit tour d'horizon :

  1. Ouverture de la Crontab : Exécuter le crontab -e (commande). Cette commande ouvre le fichier crontab dans votre éditeur par défaut.
  2. Ajout d'une tâche Cron : Sur une nouvelle ligne, indiquez les paramètres de programmation (minutes, heures, etc.) suivis de la commande.
  3. Sauvegarde et sortie : Enregistrez les modifications et quittez l'éditeur.

Exemples de tâches Cron courantes

La polyvalence de Cron peut être démontrée par son vaste éventail de cas d'utilisation. En voici quelques exemples :

  • Sauvegarde quotidienne d'un répertoire : Vous pouvez programmer une tâche Cron pour sauvegarder quotidiennement un répertoire particulier. Supposons que le répertoire soit /home/nom d'utilisateur/documents, et que vous souhaitiez effectuer la sauvegarde à 2 heures du matin tous les jours.0 2 * * * tar -zcf /var/backups/home.tgz /home/username/documents
  • Exécution d'un script toutes les minutes : Si vous disposez d'un script (par exemple, script.sh situé dans /home/username/script.sh), vous pouvez programmer son exécution toutes les minutes.* * * * * /home/username/script.sh
  • Envoi d'un courriel tous les lundis : Supposons que vous ayez un fichier mail.txt et que vous souhaitiez envoyer son contenu par courrier électronique tous les lundis à 17 heures. Vous pouvez utiliser la commande mail en conjonction avec Cron.0 17 * * MON cat /home/username/mail.txt | mail -s "Weekly Update" [email protected]

Conseils et astuces avancés pour Cron

Bien que Cron soit puissant et flexible, il existe quelques trucs et astuces qui peuvent vous aider à optimiser son utilisation :

  • Définition du PATH : Lorsque vous planifiez des tâches, vous pouvez définir la variable d'environnement PATH en tête du fichier crontab pour vous assurer que toutes les commandes sont trouvées sans spécifier de chemins absolus.
  • Redirection de la sortie : Par défaut, Cron envoie un courriel au compte utilisateur qui exécute le cronjob. Si cela n'est pas nécessaire, vous pouvez rediriger la sortie vers /dev/null.
  • Enregistrement des tâches Cron : Pour garder une trace d'un travail cron, vous pouvez rediriger la sortie vers un fichier journal.

Limites et alternatives à Cron

Malgré ses avantages, Cron n'est pas sans limites. Il ne dispose pas de fonctionnalités telles que les dépendances et l'enchaînement des tâches, ni de rapports détaillés, que l'on trouve dans des planificateurs de tâches plus avancés.

Il existe plusieurs alternatives puissantes à Cron, notamment :

  1. Anacron : Idéal pour les systèmes qui ne fonctionnent pas en continu.
  2. Fcron : Combine les fonctionnalités de Cron et d'Anacron, avec des caractéristiques améliorées.
  3. Systemd Timers : Un remplacement moderne de Cron dans les distributions Linux basées sur Systemd.

Poursuite de l'apprentissage

Grâce à la puissance de Cron, vous pouvez automatiser presque toutes les tâches que vous exécuteriez autrement manuellement. Sa structure simple et ses options de planification flexibles en font un élément essentiel de la boîte à outils de tout administrateur de système de type Unix.

FAQ

Vous pouvez consulter vos travaux Cron en utilisant le menu crontab -l commande.

Pour supprimer une tâche Cron, utilisez la commande crontab -e pour ouvrir le fichier crontab, supprimer la ligne du travail que vous souhaitez supprimer, puis enregistrer et quitter.

Oui, par défaut, Cron envoie un courrier électronique au compte de l'utilisateur avec le résultat de la tâche. Vous pouvez également configurer votre tâche Cron pour qu'elle écrive la sortie dans un fichier journal afin de vérifier si la tâche a été exécutée.

Oui, chaque utilisateur peut avoir sa propre crontab pour planifier des tâches.

Vérifiez votre boîte aux lettres car Cron y envoie les résultats des travaux. Si une redirection de sortie est configurée, vérifiez le fichier correspondant. En outre, vérifiez les champs de commande et de synchronisation de votre tâche Cron et assurez-vous que la syntaxe est correcte.

Choisir et acheter une procuration

Proxies pour centres de données

Procurations tournantes

Proxies UDP

Approuvé par plus de 10 000 clients dans le monde

Client mandataire
Client mandataire
Client proxy flowch.ai
Client mandataire
Client mandataire
Client mandataire