Comment exécuter automatiquement un script Python chaque jour ?

Introduction

Il existe plusieurs bonnes façons d’exécuter automatiquement un script Python chaque jour, selon votre système et votre configuration.

Ci-dessous figurent 3 approches principales, de la plus simple à la plus robuste.

Utiliser cron (Linux / macOS)

C’est la méthode la plus fiable et la plus courante.

Ouvrez votre terminal et tapez :

1
crontab -e

Ajoutez une ligne comme celle-ci (exemple : exécution chaque jour à 6 h du matin) :

1
0 6 * * * /usr/bin/python3 /path/to/your/script.py >> /path/to/log.txt 2>&1

Explications :

  • 0 6 * * * → exécuter tous les jours à 6h00
  • /usr/bin/python3 → chemin complet vers l’exécutable Python
  • /path/to/your/script.py → votre script Python
  • >> /path/to/log.txt 2>&1 → enregistre les journaux (logs)

Enregistrez et fermez le fichier.

Vous pouvez vérifier les tâches planifiées avec :

1
crontab -l

Utiliser le Planificateur de tâches Windows (si vous êtes sous Windows)

Ouvrez Task Scheduler (Planificateur de tâches).

Choisissez Créer une tâche de base → Donnez-lui un nom → Déclencheur = Quotidien.

Action = « Démarrer un programme ».

Programme/script :

1
python

Ajouter un argument :

1
C:\path\to\your\script.py

Démarrer dans :

1
C:\path\to\

Utiliser Python lui-même (approche légère)

Si vous préférez tout faire en Python (par exemple sur un serveur) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import time
import schedule
import subprocess

def job():
    subprocess.run(["python3", "/path/to/your/download_script.py"])

# Exécuter chaque jour à 06:00
schedule.every().day.at("06:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(60)

Ensuite, exécutez ce script de planification (« scheduler ») en arrière-plan (par exemple avec nohup ou screen) :

1
nohup python3 scheduler.py &
  • Si vous avez besoin d’une exécution quotidienne fiable → utilisez cron (meilleure option).
  • Si vous souhaitez un contrôle précis ou une automatisation multiplateforme → utilisez un script de planification ou des outils comme Airflow / Prefect ultérieurement.

Exemple concret : Téléchargement automatique de données quotidiennes depuis une URL

Cette méthode peut servir à exécuter automatiquement un script Python chaque jour — par exemple, pour télécharger des données quotidiennes à partir d’une source en ligne.
Pour une mise en œuvre détaillée, reportez-vous à la section Exemple concret : Téléchargement automatique de données quotidiennes depuis une URL.

Références

Liens Site
manuel cron (Linux) Documentation officielle de cron sous Linux (man7.org)
Task Scheduler (Windows) Documentation officielle Microsoft du Planificateur de tâches
Bibliothèque Python schedule Documentation officielle de la bibliothèque schedule
Module Python subprocess Documentation officielle pour exécuter des commandes externes
Module Python time Documentation officielle pour la gestion du temps et des pauses