Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

12. Cron, tâches planifiées et batch

Optimisation de l'exécution des tâches planifiées (cron jobs, systemd timers) et des traitements batch pour minimiser l'impact sur les performances système.

Retour à Linux
Objectif: Objectif du composant
Planifier et exécuter les tâches lourdes de manière à minimiser leur impact sur les performances interactives du système.
Paramètres: Paramètres concernés
Cron jobs Tâches planifiées via cron systemd timers Tâches planifiées via systemd Nice / ionice Priorisation des processus CPU et I/O
Bonnes pratiques: Bonnes pratiques
- Identifier les tâches planifiées (scripts de sauvegarde, rapports, mises à jour) qui sont gourmandes en ressources - Planifier l'exécution de ces tâches pendant les heures creuses ou de faible activité système - Utiliser les commandes `nice` (priorité CPU) et `ionice` (priorité I/O) pour réduire l'impact des tâches batch sur les processus interactifs
Pièges à éviter: Pièges à éviter
- Laisser des tâches lourdes s'exécuter pendant les heures de pointe, ralentissant les applications critiques - Ne pas vérifier si les tâches planifiées se terminent correctement (logs, retours d'erreurs) - Ne pas centraliser les logs des tâches batch, rendant le débogage difficile
Recommandations: Recommandations par profil
Serveurs de production : Planifier les sauvegardes et la maintenance pendant la nuit; utiliser des scripts de `cron` robustes avec logging Postes de travail : Utiliser `nice -n 19` pour les compilations longues ou les tâches de fond non urgentes Systèmes avec des traitements batch : Envisager des solutions d'ordonnancement de jobs (ex: Slurm, Celery) pour une gestion plus fine
Exemples: Exemples de réglage
sudo crontab -e # Éditer la crontab root # Exemple de tâche nightly avec faible priorité: # 0 3 * * * nice -n 19 /usr/local/bin/my_backup_script.sh systemctl edit --full myapp.timer # Modifier un timer systemd
Commandes utiles: Commandes utiles
crontab -l systemctl list-timers --all top -b -n 1 | grep "process_name" # Vérifier un processus batch ps -eo pid,ni,comm,io,cmd # Afficher la nice et ionice des processus
Références: Références officielles
- https://man7.org/linux/man-pages/man5/crontab.5.html - https://www.freedesktop.org/software/systemd/man/systemd.timer.html - https://man7.org/linux/man-pages/man1/nice.1.html - https://man7.org/linux/man-pages/man1/ionice.1.html