crontab automatiser des scripts

Crontab est un paquet installé sur les systèmes Linux permettant d’automatiser des scripts facilement. Crontab est très flexible et autorise des intervalles, des horaires fixes ou une périodicité pour l’exécution d’un script en une ligne.

Le but est de comprendre comment automatiser une tache sur un système Linux, plusieurs moyens sont possibles mais le plus simple est certainement l’utilisation de cron, un service qui fonctionne en tache de fond sur un système linux.

Quand utiliser Cron ?

L’automatisation d’un script est utile pour n’importe quelle tache qui peut s’avérer fastidieuse et qui doit être exécutée de manière périodique :

  • les mises à jour
  • un redémarrage du système ou d’un service
  • un nettoyage de base
  • une manipulation de fichier

En gros, n’importe quel script qui est fonctionnel et exécutable. Votre script ou votre commande doit comporter seulement des chemins absolues.

Utilisation de cron

Les commandes de base de Cron

Lister les taches de cron

Pour lister les taches déjà en cours :

crontab -l

Editer une nouvelle tache

Pour éditer le fichier cron :

crontab -e

Démarrage, arrêt et redémarrage

Cron est démon qui fonctionne en tache de fond, pour le démarrer, l’arrêter ou le redémarrer :

/etc/init.d/cron start | restart | stop

La configuration de cron

Pour configurer une nouvelle tache ou en supprimer une, il faut ouvrir cron en édition crontab -e puis ajouter une ligne pour sa tache qui se présente sous cette forme :

"minute" "heure" "jour du mois" "mois" "jour de la semaine" "utilisateur" "action"

La signification (il ne doit pas y avoir les ‘ »‘, chaque paramètre est séparé d’un espace) :
[table id=7 /]
Pour chacune des unités de temps :

  • *, représente toutes les unités de temps
  • 5, représente une unité de temps précise, ici 5
  • 5-10, représente toutes les unités de temps comprise entre les deux valeurs, ici 5,6,7,8,9,10
  • 5,10, représente une liste des unité de temps précise, ici 5 et 10
  • */5, définit un intervalle précis, ici toutes les 5 unité de temps, c’est-à-dire 0,5,10,15,20 etc

Exemple de configuration avec cron

Voici quelques exemples pour illustrer (à chaque fois nous venons copier l’espace disque disponible dans un fichier en /tmp/df.log:
[table id=8 /]
Il y a d’autres exemples sur Wikipédia.

Laisser un commentaire