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

Cron toutes les 75 h

11 réponses
Avatar
raphael.poitevin
Bonjour,

Comment programmer une t=C3=A2che toutes les 75=C2=A0h =C3=A0 la minute 12=
=C2=A0? L=E2=80=99objectif
=C3=A9tant d=E2=80=99ex=C3=A9cuter la t=C3=A2che tous les trois jours avec =
un d=C3=A9calage de 3=C2=A0h
entre 9h et 18h, du lundi au vendredi.

Ma ligne=C2=A0:
12 9-18/75 * * 1-5 commande
Cependant la t=C3=A2che s=E2=80=99est bien ex=C3=A9cut=C3=A9e hier =C3=A0 9=
h12 mais s=E2=80=99est r=C3=A9ex=C3=A9cut=C3=A9e
ce matin m=C3=AAme heure.

En vous remerciant.

Cordialement,
--=20
Rapha=C3=ABl
www.leclavierquibave.fr

10 réponses

1 2
Avatar
Pierre Malard
--Apple-Mail=_84FAFFC9-193B-48D8-8D12-99DA22FA1B51
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
Bonjour,
Ceci me semble normal à la lecture du « man » :
[…] Step values can be used in conjunction with ranges. Following a range
with ``/<number>'' specifies skips of the number's value
through the range. […]
Si mon anglais n’est pas trop rouillé, « through the range » signifie « dans
la plage [de valeurs] ». Or dans ton cas tu lui indique qu’il doit effectuer
la tâche dans le créneau 9h 18h toute les 78 h … dans le créneau ! C’est un
peu étroit non ? ;-)
En plus il me semble que le système comprenant les astérisques et le notion
de date (@daily, @monthly, …) il ne peut qu’y avoir un calcul dans la limite
de temps choisi. C’est-à-dire 60 mn dans l’heure, 24h dans la journée,
{28,29,30,31} jours dans le mois, …
Toujours dans le « man », on peut lire dans les exemples :
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# m h dom mon dow usercommand
Ceci me semble clair, non ?
Du coup je ne vois pas bien comment effectuer le décalage de 3 heures cherché
avec le cron.
Désolé
Le 12 mai 2020 à 10:25, Raphaël POITEVIN a écrit :
Bonjour,
Comment programmer une tâche toutes les 75 h à la minute 12 ? L’objectif
étant d’exécuter la tâche tous les trois jours avec un décalage de 3 h
entre 9h et 18h, du lundi au vendredi.
Ma ligne :
12 9-18/75 * * 1-5 commande
Cependant la tâche s’est bien exécutée hier à 9h12 mais s’est réexécutée
ce matin même heure.
En vous remerciant.
Cordialement,
--
Raphaël
www.leclavierquibave.fr

--
Pierre Malard
«Quand un Français dit du mal de lui, ne le croyez pas, Il se vante !»
Édouard Pailleron
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr
perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--
--Apple-Mail=_84FAFFC9-193B-48D8-8D12-99DA22FA1B51
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.2
Comment: GPGTools - http://gpgtools.org
iQIzBAEBCgAdFiEE0KHTJ+AWKhmI+acm/pSWHuad/BgFAl66ZQYACgkQ/pSWHuad
/BjS/A//fHw+c6bqJ9fy2EOoohNU5pNnZFlvW44vF/te1pvIHTT3iJ9uFyxIZBI/
bZ+CraTVgDvK3ZxkOq/ze21LOLb4SmgumaJATYIHVB2if1hDVvIeFXxdXdB64SOK
sj2eSLizTZ6zzNcnXiQkAo9LyyiqtWB3V7qsQnP3E92S9GroY9+SLHdf4yK5do9c
sKZarbiWo6rpO1o2eiXBfrG0/a7RDGVGIcanf40qoiOjv5YGMm397aKaHyCFoYbZ
UmMo4MZ0mCjsp3N5qKWAG07yA2N/Iv/+Tbee0Jr62U/NyKtWyvI4YgZIu41f2Kdf
tMABaBEPbua2HN6bpt2C6Z1+IKGfETvIcsWLRJjwlzpyVvolRZ7fgR9QLwyjuoD1
DiWAxueP8EsLTf63QaeMsSKfsTOP5XMS1MAlo2IhziPgB/l2TI2TAO5vyH7wlh9k
b1NCBOXf5CEYFYOR3qC5lht4/T+y8wM4Rg1FkmvmcPaPUQxjLVBiY9U5rTOFu8zH
dPxlSIEmvSKFIlJwPfHMbE6vFJ53M7rmhdMdqee3p7y0CLO0UXYyopWykwldhp1w
MjTWqPJmHm6KaMmr2SztqgZVL4VmibmXh8qoaMtGmxH3o017UDX1uykQZeMNvT4b
5kNxMLoNqEQ2Nm2M6E71g7Yd548YIDqVQ/Apu1xNxDODlXCB6r4 =UD6k
-----END PGP SIGNATURE-----
--Apple-Mail=_84FAFFC9-193B-48D8-8D12-99DA22FA1B51--
Avatar
l0f4r0
Bonjour,
Je pense que tu devrais t'inspirer de la discussion instructive suivante :  https://stackoverflow.com/questions/27412483/how-do-cron-steps-work
Bien cordialement,
l0f4r0
Avatar
G2PC
J’essaierai avec un sleep ou quelque chose comme ça.

Quel intérêt de faire une tâche tous les 3 jours avec 3h de décalage sur
une plage horaire aussi large ?
Peut être faire un script qui s’exécute tous les jours à ce moment la,
voir même, toutes les heures.
Le script devra écrire un token quelque part, à vérifier. Si le token
existe, y mettre la date et l'heure voulue pour exécuter le script.
Une fois le script exécuté, supprimer le token.
Lors de la nouvelle tâche cron, si le token n'existe pas, recréer le
token pour dans 3 jours, avec une création aléatoire en ce qui concerne
l'heure, qui sera saisie dans le token.
Un truc dans le genre, non ?
Avatar
Jean-Marc
--Signature=_Tue__12_May_2020_13_03_40_+0200_29sHvEbmLR+j_Y8a
Content-Type: text/plain; charset=UTF-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Tue, 12 May 2020 11:08:26 +0200
Raphaël POITEVIN écrivait :
salut,
Je n’avais pas lu leman car le système n’a pas hurl é quand j’ai essayé
de lui metre des valeurs hors des bornes.
Du coup je ne vois pas bien comment effectuer le décalage de 3 heu res cherché
avec le cron.

J’essaierai avec un sleep ou quelque chose comme ça.

Sinon, voir si systemd.timer peut offrir une solution.
Si ton système utilise systemd.
Merci,
--
Raphaël
www.leclavierquibave.fr

Jean-Marc
https://6jf.be/keys/ED863AD1.txt
--Signature=_Tue__12_May_2020_13_03_40_+0200_29sHvEbmLR+j_Y8a
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEEWjgcRC0dCXkfm9hQHHLXC3pxPwFAl66gowACgkQQHHLXC3p
xPyRdw//RUQ34H21Zv1Wqpn3jj86Y1M99ZyRw4J7vQQg+923ejxBCRWrYdRYW3cg
yA+J2UuAHC8Z6687co37Qx+ZzaSZoH9KoNL5F7mvy5VrOQpUklY4F+aiF9q0xuiF
bV6Zs03NsfwIl+uLCF/ejvy2f7JSXuOHnyZfiidpbA+St+UpG6nilJp92TJ762/6
ShMivLKsAUREoE8TucWdn7npETJW1POaGKebtQhDi2/NKUor4NfFqQmYTrnDHAmc
W8FZvdGDp7NZZpXVeaIYcCQvBKr69QSskwlcapf7bUniHBMoiBvSV2ZBetghmIQy
BnebdR/lBTfPZOJ+SDrTK28WM9ZIOoQuXxO9jmKMCQ15pBabp9aDZk/9BTXFTI/+
WIm5xuGeMZrKRCoSX76WfZZE84l3KlTuvC5tsqc3ll6ajOphDkK9QxpKxiQp799V
IfVC70u2yiCawnPNuBgEW/tXcEbRUcD615j8UrTeTzsC80MtEs1Yp5xR7PWWY2gn
tXF732fcylwAENB2+YQSdJzRY6ztdeX5av1RlC/RJ1DdWf0JI6XOgtd/ZbqhSG5C
Pip1butVYXZ4kq/ZotECJOtl78M3CaFbHxQj2Ef0GQEzPtfXEhMZ7fM176ckT31M
109YgWvnCSqLKCazDP3rMelAIlHTulZVA3p22hu7/8wxQzqMrcI =wh4f
-----END PGP SIGNATURE-----
--Signature=_Tue__12_May_2020_13_03_40_+0200_29sHvEbmLR+j_Y8a--
Avatar
raphael.poitevin
Jean-Marc writes:
Sinon, voir si systemd.timer peut offrir une solution.
Si ton système utilise systemd.

À voir en effet. Espérant qu’on peut exécuter ceci e n utilisateur non
privilégié.
--
Raphaël
www.leclavierquibave.fr
Avatar
raphael.poitevin
G2PC writes:
Quel intérêt de faire une tâche tous les 3 jours avec 3h d e décalage sur
une plage horaire aussi large ?

Si j’ai mis des heures de bornage, c’est pour respecter des heures de
bureau. Mon but est d’envoyer des mails de rappel à mon agence de
location afin qu’elle n’oublie pas de traiter mon dossier, mais à des
heures différentes.
Peut être faire un script qui s’exécute tous les jours à ce moment la,
voir même, toutes les heures.
Le script devra écrire un token quelque part, à vérifier. Si le token
existe, y mettre la date et l'heure voulue pour exécuter le script.
Une fois le script exécuté, supprimer le token.
Lors de la nouvelle tâche cron, si le token n'existe pas, recré er le
token pour dans 3 jours, avec une création aléatoire en ce qui concerne
l'heure, qui sera saisie dans le token.
Un truc dans le genre, non ?

J’y rélféchirai. Mais bon, un peu trop de boulot pour que lque chose
d’aussi mineur. Je me contenterai de mettre */3 pour le jour et env errai
toujours à la même heure.
--
Raphaël
www.leclavierquibave.fr
Avatar
raphael.poitevin
writes:
Je pense que tu devrais t'inspirer de la discussion instructive
suivante
: https://stackoverflow.com/questions/27412483/how-do-cron-steps-work

Merci, la piste avec at est intéressante.
--
Raphaël
www.leclavierquibave.fr
Avatar
raphael.poitevin
Finalement :
sleep $(($RANDOM%540)) && commande
Tous les 3 jours, on verra.
Raphaël
(Raphaël POITEVIN) writes:
Bonjour,
Comment programmer une tâche toutes les 75 h à la minute 1 2 ? L’objectif
étant d’exécuter la tâche tous les trois jours ave c un décalage de 3 h
entre 9h et 18h, du lundi au vendredi.
Ma ligne :
12 9-18/75 * * 1-5 commande
Cependant la tâche s’est bien exécutée hier à 9h12 mais s’est réexécutée
ce matin même heure.
En vous remerciant.
Cordialement,
Avatar
Yves Rutschle
Je me contenterai de mettre */3 pour le jour et enverrai
toujours à la même heure.

Personellement, je ferais un mix entre ta solution et celle
de G2PC: */3 pour lancer tous les 3 jours, puis le script
commence avec un
sleep rand(3*3600)
(en pseudo-Perl)
Comme ça tu envoie à une heure aléatoire sur une plage de
3 heures.
Y.
Avatar
Yves Rutschle
On Tue, May 12, 2020 at 06:04:00PM +0200, Raphaël POITEVIN wrote:
sleep $(($RANDOM%540)) && commande

Bah, j'avais raté qu'il me restait un mail à lire dans le
fil. Désolé de la contribution redondante dans mon autre mail -_-
Y.
1 2