Auteur : cmx
Date : 5 janvier 2004
Normalement crond est lancé automatiquement au démarrage. Nous pouvons cependant le faire démarrer manuellement en allant dans le répertoire “ /init.d ” :
3 commandes possibles :
Lorsque cron s`exécute pour une tâche il inscrit dans un de ses fichiers log certaines données. Ces fichiers se trouvent dans “/var/log/cron/” et sont au nombre de 3 :
Évidemment, au fil du temps le fichier info se garnit et peut prendre de la place inutilement, il faut donc le purger et pourquoi pas le faire avec une tâche crontab ! .
Au menu, 4 options,
Nous y voilà, comment créer une tâche ? Contrairement à ce qu`on pourrait constater en voyant le fichier crontab , cela n`est pas compliqué … suffit de suivre ! :
Voici un fichier crontab de root par exemple :
############################################ # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.1435 installed on Thu Feb 12 08:57:34 2004) SHELL="/bin/bash" PATH="/sbin:/bin:/usr/sbin:/usr/bin MAILTO="MON-EMAIL@linuxpourlesnuls.ath.cx" HOME="/ 01 * * * * root nice -n 19 run-parts /etc/cron.hourly 02 4 * * * root nice -n 19 run-parts /etc/cron.daily 22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly 03 1 * * * root nice -n 19 run-parts /etc/cron.monthly 08 20 * * * /usr/PROGRAMMES/scripts/monscript ###########################################
Chaque ligne contient 6 champs, les 5 premiers ( 01 * * * * dans l`exemple ) vont déterminer les moments de l`exécution des tâches, ce sont les “champs temporels”. Ainsi le 6ème champ va correspondre à la tâche à exécuter.
Chaque “champ temporel” peut contenir :
La fonction “ MAILTO ” vous permet de rediriger le résultat d`une tâche par ……….. tagadagadagadagadagada … par mail !! ( Oui je sais, c`était pas terrible ;) )
Laissons maintenant place aux exemples !!
Une petite série d`exemples ne fera pas de mal ;).
0 0 1,15
0 3 7 * * /sbin/shutdown -r
30 3 * * 2 /usr/monscript
15 6 * * 1-5 /home/monscript
0,15,30,45 15-18 1-15 7-9 1-5 /usr/ma tâche
0 2 1 * * find /tmp -atime 31 -exec rm -f {} ;
0 18 1 * * /usr/monscript
#!/bin/sh #SAUVEGARDE DES REPERTOIRES PERSONNELS date="$(date) set -- $date tar -czvf /var/sauvegarde/home/home.$3$2$6.tgz /home/*
15 * * * * /usr/verifsamba
#!/bin/sh #VERIFICATION DU SERVICE SAMBA /sbin/pidof smbd > /dev/null if [ $? = 1 ] then /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start echo "Redemarrage de Samba" | mail -s "[SAMBA VERIFICATION]" monemail@qqch.fr fi
ATTENTION : les 2dernières lignes avant “fi” n`est qu`une seule et même ligne !
15 * * * * /usr/verifadsl
#!/bin/sh #VERIFICATION DE LA CONNEXION if ! ping -c 1 195.165.15.65 > /dev/null 2>&1 then /usr/bin/killall pppd ppoe sleep 40 /usr/sbin/ppoe/ 10.0.0.20 fi
195.165.15.65 représente une adresse ip qui peut être “pinguée” sur internet.Ex : prenez www.google.fr, faite “ping www.google.fr” et relever son adresse IP puis remplacer celle de l`exemple par celle-ci.
l`adresse 10.0.0.20 représente l`adresse IP de votre modem, bien évidemment à modifier également par la votre.
Voilà, ce tutorial prend fin ici en espérant vous avoir bien aidé. Si vous souhaitez récuperer quelques scripts sympa, dirigez-vous dans la rubrique “Téléchargements” section “Scripts”.