Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cron toutes les 3 semaines

11 réponses
Avatar
Bonjour,

Je cherche à planifier un cron, une fois toutes les 3 semaines.

Comment faire ?

Merci

10 réponses

1 2
Avatar
TiChou
Dans le message <news:429f7856$0$3867$,
** tapota sur f.c.o.l.configuration :

Bonjour,


Bonsoir,

Je cherche à planifier un cron, une fois toutes les 3 semaines.

Comment faire ?


On ne peut pas directement le faire avec un cron. On pourrait envisager
utiliser at, mais il n'est pas installé par défaut sur la plupart des
distributions. Reste alors la possibilité de lancer un script toutes les
semaines via un cron et que ce script vérifie alors le numéro de la semaine
et prend alors la décision ou non de lancer la tâche voulue.

Par exemple avec un Bourne Shell, on peut faire :

if [ $(( $(date +"%U") % 3 )) == 0 ]
then
(la tâche à lancer...)
fi

Merci


De rien.

--
TiChou

Avatar
merci

"TiChou" a écrit dans le message de news:

Dans le message <news:429f7856$0$3867$,
** tapota sur f.c.o.l.configuration :

Bonjour,


Bonsoir,

Je cherche à planifier un cron, une fois toutes les 3 semaines.

Comment faire ?


On ne peut pas directement le faire avec un cron. On pourrait envisager
utiliser at, mais il n'est pas installé par défaut sur la plupart des
distributions. Reste alors la possibilité de lancer un script toutes les
semaines via un cron et que ce script vérifie alors le numéro de la
semaine

et prend alors la décision ou non de lancer la tâche voulue.

Par exemple avec un Bourne Shell, on peut faire :

if [ $(( $(date +"%U") % 3 )) == 0 ]
then
(la tâche à lancer...)
fi

Merci


De rien.

--
TiChou




Avatar
Je viens de lire le man de at, je ne vois pas la possibilite de repetition
(comme le fait cron)
toutes les 3 semaines.

Est ce possible ?

Merci


"TiChou" a écrit dans le message de news:

Dans le message <news:429f7856$0$3867$,
** tapota sur f.c.o.l.configuration :

Bonjour,


Bonsoir,

Je cherche à planifier un cron, une fois toutes les 3 semaines.

Comment faire ?


On ne peut pas directement le faire avec un cron. On pourrait envisager
utiliser at, mais il n'est pas installé par défaut sur la plupart des
distributions. Reste alors la possibilité de lancer un script toutes les
semaines via un cron et que ce script vérifie alors le numéro de la
semaine

et prend alors la décision ou non de lancer la tâche voulue.

Par exemple avec un Bourne Shell, on peut faire :

if [ $(( $(date +"%U") % 3 )) == 0 ]
then
(la tâche à lancer...)
fi

Merci


De rien.

--
TiChou




Avatar
Basile Starynkevitch [news]
On 2005-06-03, wrote:

Je viens de lire le man de at, je ne vois pas la possibilite de
repetition (comme le fait cron) toutes les 3 semaines.


Il suffit de commencer le script executé par at par une commande at.

Si vous lancer at -f $HOME/monscript now

commencez $HOME/monscript par la commande

at -f $HOME/monscript now + 3 weeks

Cela étant dit, je prefere le crontab, avec un script qui teste si
c'est la bonne semaine.

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile(at)starynkevitch(dot)net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

Avatar
michel fabing
Cron te permet de lancer un script, une tache, une appli a tache de
maniere repetitif. Ainsi on peut parametrer
- les minutes ou ils doit se lancer (toutes les 30 minutes par exemple)
- les heures (toutes les 2 heures, ou seulement a 07H et 22H)
- Les jours (le 01 le 15 du mois)
- les mois (janvier et juillet uniquement)
- les jours de la semaine (du lundi au vendredi)

Donc comme tu peut le voir, il n'y a pas de possibilité de le parametre
toutes les 3 semaines. Pourquoi ne pas lancer le script 2 fois par mois?

wrote:
Bonjour,

Je cherche à planifier un cron, une fois toutes les 3 semaines.

Comment faire ?

Merci





Avatar
Khaled
TiChou wrote:
Par exemple avec un Bourne Shell, on peut faire :

if [ $(( $(date +"%U") % 3 )) == 0 ]
then
(la tâche à lancer...)
fi



J'ai bien aimé ta solution mais, si j'ai bien compris le turc, il y un
petit problème: après la semaine 51 on va attendre *au moins* 4
semaines avant que le script se lance dans la semaine 3.

J'ai pensé a une autre solution: chaque fois le script se lance, et
avant qu'il sois terminé, il ecrit un petit fichier (ou même vide).
On met le script dans cron pour execution toutes les semaines. Le
script verra si 3 semaines sont déja passées depuis la date du petit
fichier (la date de la dernière execution), sinon --> exit.

Amts,
Khaled

Avatar
TiChou
Dans le message <news:,
*Khaled* tapota sur f.c.o.l.configuration :

Par exemple avec un Bourne Shell, on peut faire :

if [ $(( $(date +"%U") % 3 )) == 0 ]
then
(la tâche à lancer...)
fi

J'ai bien aimé ta solution



Merci. :p

mais, si j'ai bien compris le turc, il y un petit problème: après la
semaine 51 on va attendre *au moins* 4 semaines avant que le script se
lance dans la semaine 3.


Ah oui, exact, je n'y avais pas pensé. Donc je corrige :

if [ $(( $(date +%s) / 604800 % 3 )) == 0 ]
then
(la tâche à lancer...)
fi

--
TiChou


Avatar
Philippe Naudin
Le vendredi 03 juin 2005 à 11:29:08,
michel fabing a écrit:

Cron te permet de lancer un script, une tache, une appli a tache de
maniere repetitif. Ainsi on peut parametrer
- les minutes ou ils doit se lancer (toutes les 30 minutes par
exemple) - les heures (toutes les 2 heures, ou seulement a 07H et 22H)
- Les jours (le 01 le 15 du mois)
- les mois (janvier et juillet uniquement)
- les jours de la semaine (du lundi au vendredi)

Donc comme tu peut le voir, il n'y a pas de possibilité de le
parametre toutes les 3 semaines.


Seulement parce que un an n'est pas multiple de 3 semaines.

Sinon (solution pas vraiment esthétique, je suis d'accord), il serait
facile de lancer le script le 01/01 puis le 22/01 puis le 12/02 ... ah
oui, il y a aussi le problème des année bissextiles ...

Donc, cron permet d'exécuter un script toutes les 3 semaines
_approximativement_ .

Des fois ça suffit ;)


--
Philippe Naudin
Cette adresse est valide.
Elle rejette le html, les multipart/(related|alternative), et les
pièces attachées avec une extension (exe|bat|pif|com|scr|zip).

Avatar
Cem
wrote:

Je cherche à planifier un cron, une fois toutes les 3 semaines.


Pas possible directement avec cron, en revanche, ça l'est avec fcron qui
offre plus de possibilités.

Il suffit de mettre
@ 3w commande
dans la table fcrontab.

Avatar
Khaled
TiChou wrote:

Ah oui, exact, je n'y avais pas pensé. Donc je corrige :

if [ $(( $(date +%s) / 604800 % 3 )) == 0 ]
then
(la tâche à lancer...)
fi



Tu peux m'expliquer cette solution stp? Je ne l'ai pas comprise. Je
l'ai essayé et elle m'a donné "syntax error" :(

merci,
Khaled

1 2