13 octobre 2025
tux, linux, vector, penguin, linux, linux, linux, linux, linux, penguin, penguin

Comment programmer une tâche planifiée sous Linux

La planification de tâches sous Linux est une compétence essentielle pour tout administrateur système ou développeur souhaitant automatiser des opérations répétitives — qu’il s’agisse de sauvegardes, de mises à jour, de nettoyages de logs ou de scripts de maintenance. Deux commandes principales permettent cela : cron (pour les tâches récurrentes) et at (pour les tâches ponctuelles).


1. Comprendre les outils de planification

a) Cron : pour les tâches répétées

cron est un démon (service en arrière-plan) qui exécute des commandes à intervalles réguliers. Ces intervalles sont définis dans une table appelée crontab.

b) At : pour une exécution unique

at permet de lancer une tâche une seule fois, à un moment précis dans le futur. C’est pratique pour des opérations planifiées mais non récurrentes (par exemple, redémarrer un service demain à 3 h du matin).


2. Le fonctionnement de cron

Chaque utilisateur possède sa propre crontab, accessible via la commande :

crontab -e

Pour afficher les tâches existantes :

crontab -l

Structure d’une ligne crontab

Chaque ligne correspond à une tâche planifiée, avec la syntaxe suivante :

* * * * * commande
│ │ │ │ │
│ │ │ │ └── Jour de la semaine (0–7, 0 et 7 = dimanche)
│ │ │ └──── Mois (1–12)
│ │ └────── Jour du mois (1–31)
│ └──────── Heure (0–23)
└────────── Minute (0–59)

Exemples pratiques

ObjectifSyntaxeDescription
Exécuter un script toutes les 5 minutes*/5 * * * * /home/user/script.shBoucle toutes les 5 minutes
Lancer une sauvegarde tous les jours à minuit0 0 * * * /home/user/backup.shTous les jours à 00:00
Nettoyer les logs chaque dimanche à 3h0 3 * * 0 rm /var/log/*.logLe dimanche à 3h
Envoyer un rapport le 1er du mois à 8h0 8 1 * * /home/user/report.shChaque 1er du mois

3. Le fonctionnement de at

Pour programmer une tâche ponctuelle avec at :

at 03:00 tomorrow

Puis entrez la commande à exécuter (exemple : shutdown -r now) et validez avec Ctrl+D.

Pour lister les tâches planifiées :

atq

Pour supprimer une tâche :

atrm [numéro_de_tâche]

4. Bonnes pratiques de planification

  • Spécifiez les chemins absolus (ex. /usr/bin/python au lieu de python).
  • Redirigez les sorties et erreurs vers un fichier log pour le débogage : * * * * * /home/user/script.sh >> /home/user/script.log 2>&1
  • Vérifiez les permissions : le script doit être exécutable (chmod +x script.sh).
  • Utilisez l’environnement correct : cron ne charge pas le profil utilisateur (.bashrc), donc exportez les variables nécessaires directement dans la tâche.
  • Testez vos commandes manuellement avant de les automatiser.

5. Alternatives et outils modernes

  • systemd timers : plus puissants et flexibles que cron, avec journalisation native.
  • anacron : permet d’exécuter les tâches manquées (utile pour les machines qui ne tournent pas 24/7).
  • atd : service qui exécute les commandes at.

6. Conclusion

Programmer des tâches planifiées sous Linux, c’est automatiser l’intendance du système et gagner du temps au quotidien.
Que vous utilisiez cron pour des scripts réguliers ou at pour une tâche unique, l’important est de bien comprendre leur logique, de tester vos scripts, et de surveiller les journaux d’exécution.

En maîtrisant ces outils, vous franchirez une étape clé vers l’automatisation et l’efficacité dans la gestion de vos environnements Linux.


Sources d’inspiration : Tecmint, IOFlood, RunCloud, Stackscale, GeeksforGeeks, EverythingDevOps, RedSwitches, LinuxJournal, Opensource.com, CBT Nuggets, Medium, et d’autres références techniques sur la planification de tâches Linux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

[vg_display_admin_page page_url="https://pingpingu.org/wp-admin/edit.php"]