Le cron sous UNIX sert à automatiser des taches répétitives.

Pour faire un cron il vous faut un environnement UNIX. Cette fonctionnalité est utilisée par les administrateurs système pour automatiser le lancement de tâches (exécutables) de façon régulière. Par exemple les compilations ou les sauvegardes automatiques.

Normalement toute machine UNIX est pourvu par défaut du cron. Pour mandriva c'est le package crontab, pour Ubuntu c'est le package cron.

Commençons par regarder si notre système n'a pas déjà des tâches automatisées grâce à ce système. Tapez : crontab -l
Cette commande liste les cron dejà enregistrées. J'ai le résultat suivant :

 [yan@yan-lnx yan]$ crontab -l
 no crontab for yan

Pour ajouter des entrées dans la crontab (c'est le fichier où sont stockés les commandes) nous devons autoriser notre utilisateur à lancer des cron. Pour cela : créez le fichier /etc/cron.allow et ajoutez votre utilisateur (un utilisateur par ligne). Voici mon fichier :

 [yan@yan-lnx yan]$  cat /etc/cron.allow
 yan
 [yan@yan-lnx yan]$

Maintenant, il serait intéressant de rajouter une commande à automatiser. Créez un fichier excécutable, par exemple /home/$USER/sauvegarde.sh contenant les lignes suivante :

 #!/bin/bash
 #Ce fichier permet de sauvegarder un répertoire
 rsync -avz  repertoireASauvegarder/ 192.168.1.101::ftp

Rendez ce fichier excécutable : chmod 755 /home/$USER/sauvegarde.sh

Ajoutez l'entrée suivante dans la crontab : 30 13 * * * /home/$USER/sauvegarde.sh en utilisant la commande suivante : crontab -e (e comme edite).

Cella programme votre compilation tous les jours à 13h30.

Vous pouvez trouver la syntaxe complète d'un cron aux adresses suivantes :