Memo Crontab
ça peut aider
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 à 23h30 :
30 23 * * * 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 2 au 5 de chaque mois à 10h12 :
12 10 2-5 * * ls >>/tmp/log.txt
- Tous les jours pairs du mois à 23h59 :
59 23 */2 * * ls >>/tmp/log.txt
- Toutes les 5 minutes :
*/5 * * * * 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
à vos crons !