Tache cron 1er dimanche du mois
Résolu
splintermik
-
splintermik -
splintermik -
Bonjours a tous, alors voila, je voudrais qu'une commande s’exécute tout les 1er dimanche de chaque mois
j'ai donc mis ça dans crontab -e
01 00 1-7 * 0 commande
le problème c'est que la commande se fait tout les dimanche, et tout les jours du 1 au 7
ya t'il une autre commande qui permettrais de faire une fois , pour le 1er dimanche de chaque mois?
merci
j'ai donc mis ça dans crontab -e
01 00 1-7 * 0 commande
le problème c'est que la commande se fait tout les dimanche, et tout les jours du 1 au 7
ya t'il une autre commande qui permettrais de faire une fois , pour le 1er dimanche de chaque mois?
merci
A voir également:
- Crontab tous les dimanches
- Crontab bad minute ✓ - Forum Shell
- Crontab toutes les minutes ✓ - Forum Shell
- Crontab toute les heures ✓ - Forum Shell
- Crontab toutes les 5 minutes - Forum Shell
- Crontab toutes les heures sauf de 3h à 6h ✓ - Forum Shell
3 réponses
Bonjour,
Une solution intéressante :
https://stackoverflow.com/questions/3241086/how-to-schedule-to-run-first-sunday-of-every-month
00 09 * * 7 [ $(date +\%d) -le 07 ] && /run/your/script
"he date +%d gives you number of current day and than you can check if the day is lesser or equal of 7. If it is that run your command.
If you run these script only in Sundays it should means that it runs only in the first Sunday of the month."
Une solution intéressante :
https://stackoverflow.com/questions/3241086/how-to-schedule-to-run-first-sunday-of-every-month
00 09 * * 7 [ $(date +\%d) -le 07 ] && /run/your/script
"he date +%d gives you number of current day and than you can check if the day is lesser or equal of 7. If it is that run your command.
If you run these script only in Sundays it should means that it runs only in the first Sunday of the month."
Une autre solution, un peu moins propre (voire dégueulasse) :
Tu initialises un fichier 'premierdimanche' à 0.
Tu lances ton script tous les dimanches et tu testes le contenu de ce fichier :
• si il est à 0 : tu lances le contenu du script et tu passes le contenu du fichier à 1.
• si il est à 1 : ton script a déjà été passé ce mois-ci.
Ensuite, tu rajoutes une tâche chaque 1er du mois pour réinitialiser ce fichier à 0.
Tu initialises un fichier 'premierdimanche' à 0.
Tu lances ton script tous les dimanches et tu testes le contenu de ce fichier :
• si il est à 0 : tu lances le contenu du script et tu passes le contenu du fichier à 1.
• si il est à 1 : ton script a déjà été passé ce mois-ci.
Ensuite, tu rajoutes une tâche chaque 1er du mois pour réinitialiser ce fichier à 0.
Salut,
C'est impossible directement depuis les paramètres de la crontab de définir le 1er dimanche du mois.
Par contre c'est possible en feintant, comme expliqué ici.
C'est impossible directement depuis les paramètres de la crontab de définir le 1er dimanche du mois.
Par contre c'est possible en feintant, comme expliqué ici.
merci pour t'as répondse
je viens de tester avec at , donc voici la commande
at now +1 minutes /etc/blablabla
j'ai en retour
syntax error. Last token seen: /
Garbled time
j'ai donc essayer : at now +1 minutes etc/blablabla
et j'ai eu :
syntax error. Last token seen: e
Garbled time
je ne comprend pas trop comment ceci marche, si c'est une commande exécutable uniquement via la console, elle n'est pas intéressante, pour pouvoir être utiliser tout les 1er dimanche de chaque mois automatiquement :p
je viens de tester avec at , donc voici la commande
at now +1 minutes /etc/blablabla
j'ai en retour
syntax error. Last token seen: /
Garbled time
j'ai donc essayer : at now +1 minutes etc/blablabla
et j'ai eu :
syntax error. Last token seen: e
Garbled time
je ne comprend pas trop comment ceci marche, si c'est une commande exécutable uniquement via la console, elle n'est pas intéressante, pour pouvoir être utiliser tout les 1er dimanche de chaque mois automatiquement :p
EDIT : test concluant, merci beaucoup !! :D