Mémo crontab.doc

(36 KB) Pobierz

Mémo crontab

 

Crontab

A mettre dans votre Crontab comme pense bête :

#        minute (0...59)

 

#        |     heure (0...23)

 

#        |     |     jour (1...31)

 

#        |     |     |     mois (1...12)

 

#        |     |     |     |     jour de la semaine (0...6 avec 0=Dimanche)

 

#        |     |     |     |     |       commandes

Afficher son cron :

chose importante a faire lorsque vous rencontrez un serveur pour la première fois.

crontab -l

Editer son cron :

crontab -e

Editer le cron d'un autre utilisateur, c'est pas gentil... :

crontab -e -u amavis

Exemple :

Simple, on sauvegarde tous les jours à 13h toutes les bases du serveur mysql d'en un fichier.

00 13 * * * mysqldump -u root -ppassword --all-databases  > /data3/mysqld-dump/mysqld-dump-all-base.sql

Voici d'autres exemples ne tenez pas compte de la commande shell :

·         Tous les jours à 22h00 :

00 22 * * * ls >>/tmp/log.txt

·         Toutes les heures, passées de 5 minutes :

5 * * * * ls >>/tmp/log.txt

·         Tous les premiers du mois à 23h30 :

30 23 1 * * ls >>/tmp/log.txt

·         Tous les lundis à 22h28 :

28 22 * * 1 ls >>/tmp/log.txt

·         Du 3 au 15 de chaque mois à 10h12 :

12 10 3-15 * * ls >>/tmp/log.txt

·         Tous les jours pairs du mois à 23h59 :

59 23 */2 * * ls >>/tmp/log.txt

·         Toutes les 1 minutes :

*/1 * * * * ls >>/tmp/log.txt

·         Tous les derniers jours du mois (l'antislash devant % est obligatoire en édition de crontab, contrairement à l'exécution la commande manuellement) :

0 0 28-31 * * [ `/bin/date +\%d` -gt `/bin/date +\%d -d "1 day"` ] && ls >>/tmp/log.txt

·         Tous les derniers dimanches du mois :

0 0 * * 0 [ `/bin/date +\%d` -gt `/bin/date +\%d -d "7 day"` ] && ls >>/tmp/log.txt

Lister tous les crons de tous les utilisateurs :

alias cronall='for user in $(cut -f1 -d: /etc/passwd)'; do echo -e "\n\n==> $user:" && crontab -u $user -l; done

cronall

Pour les crons périodiques (cron.daily, cron.weekly, etc.) qui sont dans des répertoires distincts et non liés à un utilisateur mais au système. Pour lister ces crons une commande simple suffira pour trouver ce que vous cherchez :

cat /etc/cron.d/* | grep "votre recherche"

De même que pour lister tous les scripts (sans le contenu) :

ls -al /etc/cron.*

Bon à savoir pour un peu de sécurité, ça gâche rien, vous avez la possibilité d'utiliser /etc/cron.allow et /etc/cron.deny.

Il faudra les créer vous même, si seul le fichier /etc/cron.allow existe, alors uniquement les utilisateurs qui sont listés dans ce fichier auront le droit d'utiliser cron.

Ne pas laissez le fichier /etc/cron.deny vide si vous n'avez pas bien renseigné correctement votre fichier /etc/cron.allow.

Aller plus loin : avec wikipedia quelques exemples de cet article sont tirés de cette url.

Les différences entre les logiciels de crontab par Gentoo : ici

à vos crons !!!

et aussi :

bonne lecture :)

·         Postfix créer une blacklist de mail en envoi et reception

·         Comment tester SpamAssassin

·         Bloquer la mise à jour d'un paquet Centos ou Redhat

·         Mysql : Restaurer une seule base avec une sauvegarde qui contient toutes vos bases

·         Suicide d’Aaron Swartz !

·         L’ONU veut contrôler Internet à travers le monde entier

 

Zgłoś jeśli naruszono regulamin