Je voulais lancer un travail au début de chaque mois, mais seulement les jours de semaine.
Pour ce faire, j'ai ajouté cette ligne dans le fichier /etc/crontab :
7 0 3-5 * 1-5 root ( test "`date '+\%d'`" = "03" || test "`date '+\%u'`" = "1" ) && /path/to/my/script.sh
Ce qui était attendu : script.sh lancé le 1er jour de la semaine entre le 3 et le 5 du mois (la partie "test" n'est là que pour être sûr qu'il est lancé une fois).
Cela fonctionne très bien et ce mois-ci, le 3, le cronjob a été exécuté.
Mais, malheureusement, pour une raison inconnue, il a également été lancé aujourd'hui, le 8 juin, le lundi. Je peux comprendre que la partie "test" fonctionne ( test "date '+%u'" = "1"
est vrai, et c'est logique), mais la partie "cron" ne devrait pas être vraie ( 7 0 3-5 * 1-5
n'est pas vrai, nous sommes le 8ème).
Je me demandais donc si j'avais fait quelque chose de mal, ou s'il y avait un problème plus profond ?
Merci !