Problème de codage d'une crontab - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 13-09-2017 à 09:18:37
salut,
ça ne se "code" pas en cron, il faut le scripter.
c'est une FAQ, tu devrais rapidement trouver une solution après quelques recherches sur le net.
tiens-nous au courant.
Marsh Posté le 13-09-2017 à 09:28:23
Merci, il me semblait bien que ce n'était pas "codable" en cron.
Marsh Posté le 13-09-2017 à 09:29:18
Tous les derniers dimanches du mois :
Première solution : comparer tous les dimanches avec celui de la semaine d'après.
0 0 * * 0 [ `/bin/date +\%d` -gt `/bin/date +\%d -d "7 day"` ]
Marsh Posté le 13-09-2017 à 10:50:31
« tous les dimanches, comparer la date avec la date de la semaine d'après » ?
il y a peu de chances qu'un jour la date soit même égale à celle de la semaine d'après !
ça n'a l'air de rien, mais c'est pas si facile d'expliquer à un ordinateur ce que nous visualisons intuitivement.
et expliquer l'algorithme sans donner le code n'est pas facile non plus.
de mon côté, je me suis basé sur le numéro du jour du premier jour du mois.
il y a alors trois cas à prendre en considération :
- le numéro du premier jour du mois est inférieur au numéro du jour cible
=> référence = numJourCible - numPremJourMois
- le numéro du premier jour du mois est supérieur au numéro du jour cible
=> référence = nbJoursSemN - numPremJourMois + numJourCible
- le numéro du premier jour du mois est égal au numéro du jour cible
=> référence = 0
ensuite, je fais d'autres calculs...
tout ça pour dire, que c'est pas si simple.
Marsh Posté le 29-01-2018 à 09:00:36
if [[ ${madate:8:2} -ge 8 && ${madate:8:2} -le 14 && $(date -d $madate +'%w') -eq 0 ]]; then echo "ok"; else echo "ko";fi
Normalement, ca devrait te dire si tu es le 2e dimanche du mois, non ?
Marsh Posté le 13-09-2017 à 09:09:04
Bonjour,
J'ai un souci pour coder une crontab quelque chose qui pourtant me paraissait semble.
Je veux exécuter une commande, chaque second dimanche du mois à 02h05
Voilà comment j'avais codé ça :
5 2 8-14 3,6,9,12 0
Mais en fait, le script s’exécute du 8 à 14 ET tous les dimanches.
Je pensais que c'était un opérateur ET entre 8-14 et 0, mais c'est OU.
Savez vous comment coder "deuxième dimanche" ?
Meric