DEV Community

La grâce Nkinki
La grâce Nkinki

Posted on

Tutoriel : Programmer l’exécution automatique d’un script Python avec crontab sous Linux

Introduction

Vous souhaitez lancer un script Python à des horaires précis ou à intervalles réguliers ? crontab est l’outil intégré à Linux qu’il vous faut. Dans ce guide, nous allons :

  1. Écrire un script Python simple (hello.py)
  2. Le rendre exécutable et le tester
  3. Créer une tâche cron qui lance ce script et enregistre sa sortie dans un fichier log
  4. Vérifier en temps réel que tout fonctionne

1️⃣ Créer le script Python

Ouvrez Nano et saisissez :

bash
nano hello.py

Dans l’éditeur, collez le code suivant :

#!/usr/bin/env python3
print("Hello, world!")
Enter fullscreen mode Exit fullscreen mode

Enregistrez puis quittez Nano :

  • Ctrl + O → Entrée pour sauvegarder
  • Ctrl + X pour fermer

Rendre le script exécutable et le tester

Placez‑vous dans le dossier contenant hello.py, puis :

chmod +x hello.py
./hello.py      # Affiche “Hello, world!”
Enter fullscreen mode Exit fullscreen mode

Planifier l’exécution avec crontab

Ouvrez l’éditeur de tâches cron :

crontab -e
Enter fullscreen mode Exit fullscreen mode

Ajoutez la ligne suivante pour exécuter le script toutes les minutes et consigner la sortie dans /tmp/hello.log :

* * * * * /chemin/vers/hello.py >> /tmp/hello.log 2>&1
Enter fullscreen mode Exit fullscreen mode

Remplacez /chemin/vers/hello.py par le chemin absolu de votre script.

Sauvegardez puis fermez l’éditeur (dans Vim : :wq).


Surveiller les logs en direct

Image description

Utilisez tail pour voir les nouvelles lignes s’ajouter au fichier log :

tail -f /tmp/hello.log
Enter fullscreen mode Exit fullscreen mode

Chaque minute, vous devriez voir apparaître :

Hello, world!
Enter fullscreen mode Exit fullscreen mode

Image description

Conclusion

En quelques commandes, vous avez automatisé l’exécution d’un script Python avec crontab, redirigé sa sortie vers un fichier log et vérifié son fonctionnement en temps réel. À vous maintenant d’adapter ces étapes à vos propres scripts et fréquences d’exécution. Bon automatisme et à bientôt !

Top comments (0)