Introduction à CRON – les tâches automatisées

Qu’est-ce que CRON ?

Cron est le nom du programme qui permet aux utilisateurs Unix d’exécuter automatiquement des commandes ou des scripts à une heure spécifiée.

Cron est très utile pour lancer une procédure de sauvegarde à heure fixe, optimiser une base de données ou encore supprimer les courriers indésirables de votre boîte aux lettres.

C’est un peu l’équivalent Unix du planificateur de tâches de Windows.

Cron est basé sur une table référençant les tâches à lancer ainsi que l’année, le mois, le jour, l’heure et la minute à laquelle exécuter ces tâches.

En fait ce que l’on appelle communément “Cron” comprend deux éléments distinctifs :

  • crond, un programme résident en mémoire (daemon) qui lance automatiquement les tâches en fonction de la table cron.
  • crontab, un fichier de configuration qui comprend les travaux programmés et la date d’exécution. C’est ce fichier qui permet l’édition de la table des tâches à ordonnancer.

Syntaxe de crontab en image

Cron : dissection

La syntaxe de crontab est donc notée de la façon suivante:

mm hh jj MMM JJJ tâche > log

Légende :

  • mm représente les minutes (de 0 à 59)
  • hh représente l’heure (de 0 à 23)
  • jj représente le numéro du jour du mois (de 1 à 31)
  • MMM représente le numéro du mois (de 1 à 12) ou l’abréviation du nom du mois (jan, feb..)
  • JJJ représente l’abréviation du nom du jour ou le chiffre correspondant au jour de la semaine (0 représente le dimanche, 1 représente le lundi …)
  • tâche représente la commande ou le script shell à exécuter
  • log représente le nom d’un fichier dans lequel stocker le journal des opérations. Si la clause > log n’est pas spécifiée, cron enverra automatiquement un courriel de confirmation. Pour éviter cela il suffit de spécifier > /dev/null

Exemples

Lancer un script PHP tous les lundis à 22h34 :

34 22 * * 1 tâche

Lancer un script PHP tous les premiers du mois à 23h59 :

59 23 1 * * GET

Faire une sauvegarde de fichiers et des bases MySQL :

Voir ce précédent tutoriel.

Voilà, vous savez maintenant l’essentiel sur Cron.

A vous d’écrire ce dont vous avez besoin ;-)

Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.

Discutons des solutions possibles »

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

2 pensées sur “Introduction à CRON – les tâches automatisées”

Opinions