L’automatisation des tâches de routine est essentielle à toute administration de système robuste ou à tout flux de travail de développement web. Les tâches Cron constituent un puissant planificateur de tâches basé sur le temps dans les systèmes d’exploitation de type Unix, qui vous permet d’exécuter des scripts ou des commandes automatiquement à intervalles programmés.
Un job cron est une tâche planifiée définie dans la table crontab (table cron) du système qui exécute des commandes ou des scripts à des moments ou des intervalles spécifiés. Cron est largement utilisé parce qu’il est.. :
Léger
Hautement personnalisable
Intégré dans la plupart des distributions Linux
Sauvegardes quotidiennes ou hebdomadaires des bases de données
Exécution de scripts PHP/Python
Rotation des journaux et nettoyage des fichiers temporaires
Envoi d’e-mails programmés
Mise à jour des caches de données ou synchronisation des fichiers
Pour éditer la crontab de votre utilisateur (sans accès root) :
Chaque job cron utilise le format suivant :
Imaginons que vous souhaitiez exécuter un script Python personnalisé. Commencez par créer le fichier :
Exemple de script :
#!/usr/bin/env python3
import os
import datetime
log_dir = "/var/log/myapp"
threshold = 7 # days
now = datetime.datetime.now()
for filename in os.listdir(log_dir):
filepath = os.path.join(log_dir, filename)
if os.path.isfile(filepath):
file_age = now - datetime.datetime.fromtimestamp(os.path.getmtime(filepath))
if file_age.days > threshold:
os.remove(filepath)
Rendez le script exécutable :
Editez votre crontab et ajoutez :
Ceci :
Exécute le script tous les jours à 1:00 AM
Enregistre la sortie dans /var/log/cleanup.log
Désactiver temporairement une ligne en la commentant avec #.
Pour supprimer tous les travaux :
Les tâches cron personnalisées sont un outil puissant pour l’automatisation, la maintenance et la fiabilité. Que vous gériez un VPS personnel, déployiez des scripts de backend ou exécutiez des charges de travail de production, la maîtrise de cron vous permet de contrôler quand et comment les tâches s’exécutent – sans effort.