je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
s'exécute Í une heure choisie
est ce que c'est pas trop compliqué Í faire ?
il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
en calculant la durée d'attente dont on a besoin, en fonction de l'heure
qu'il est au moment du lancement et de l'heure choisie pour l'exécution
mais je n'arrive pas Í aller au bout :
j'ai trouvé qu'avec `date` on peut afficher en langage humain une date
donnée en seconde, mais pas le contraire ...
je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
s'exécute Í une heure choisie
est ce que c'est pas trop compliqué Í faire ?
il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
en calculant la durée d'attente dont on a besoin, en fonction de l'heure
qu'il est au moment du lancement et de l'heure choisie pour l'exécution
mais je n'arrive pas Í aller au bout :
j'ai trouvé qu'avec `date` on peut afficher en langage humain une date
donnée en seconde, mais pas le contraire ...
je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
s'exécute Í une heure choisie
est ce que c'est pas trop compliqué Í faire ?
il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
en calculant la durée d'attente dont on a besoin, en fonction de l'heure
qu'il est au moment du lancement et de l'heure choisie pour l'exécution
mais je n'arrive pas Í aller au bout :
j'ai trouvé qu'avec `date` on peut afficher en langage humain une date
donnée en seconde, mais pas le contraire ...
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í
gaz que ça, non ?
est ce que c'est pas trop compliqué Í faire ?
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í
gaz que ça, non ?
est ce que c'est pas trop compliqué Í faire ?
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í
gaz que ça, non ?
est ce que c'est pas trop compliqué Í faire ?
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Le Mon, 07 Dec 2020 02:38:12 +0100, Thomas a écrit :je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
s'exécute Í une heure choisie
est ce que c'est pas trop compliqué Í faire ?
Le logiciel "at" fait ça.
http://blog.calhariz.com/index.php/tag/at
il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
en calculant la durée d'attente dont on a besoin, en fonction de l'heure
qu'il est au moment du lancement et de l'heure choisie pour l'exécution
mais je n'arrive pas Í aller au bout :
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Le Mon, 07 Dec 2020 02:38:12 +0100, Thomas a écrit :
> je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
> s'exécute Í une heure choisie
>
> est ce que c'est pas trop compliqué Í faire ?
Le logiciel "at" fait ça.
http://blog.calhariz.com/index.php/tag/at
> il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
> en calculant la durée d'attente dont on a besoin, en fonction de l'heure
> qu'il est au moment du lancement et de l'heure choisie pour l'exécution
>
> mais je n'arrive pas Í aller au bout :
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Le Mon, 07 Dec 2020 02:38:12 +0100, Thomas a écrit :je souhaite pouvoir lancer un script sh n'importe quand, et qu'il
s'exécute Í une heure choisie
est ce que c'est pas trop compliqué Í faire ?
Le logiciel "at" fait ça.
http://blog.calhariz.com/index.php/tag/at
il me semble qu'il devrais suffire d'ajouter un `sleep` au début,
en calculant la durée d'attente dont on a besoin, en fonction de l'heure
qu'il est au moment du lancement et de l'heure choisie pour l'exécution
mais je n'arrive pas Í aller au bout :
C'est faisable, mais ça fait un peu usine Í gaz pour refaire un truc
existant.
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/sh
go=$(date -d "$1" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
-----------------------------------------------------
Testé sous Ubuntu 18.04.
La petite astuce est de faire le delta et d'y ajouter 86400 (le nombre de
secondes
dans 24h) pour avoir quelque chose de positif Í coup sÍ»r et ensuite de
réduire la
valeur modulo 86400 pour avoir une valeur entre 0 et (86400-1).
Il me semble que ça marche, non ?
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/sh
go=$(date -d "$1" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
-----------------------------------------------------
Testé sous Ubuntu 18.04.
La petite astuce est de faire le delta et d'y ajouter 86400 (le nombre de
secondes
dans 24h) pour avoir quelque chose de positif Í coup sÍ»r et ensuite de
réduire la
valeur modulo 86400 pour avoir une valeur entre 0 et (86400-1).
Il me semble que ça marche, non ?
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/sh
go=$(date -d "$1" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
-----------------------------------------------------
Testé sous Ubuntu 18.04.
La petite astuce est de faire le delta et d'y ajouter 86400 (le nombre de
secondes
dans 24h) pour avoir quelque chose de positif Í coup sÍ»r et ensuite de
réduire la
valeur modulo 86400 pour avoir une valeur entre 0 et (86400-1).
Il me semble que ça marche, non ?
In article <5fce0e08$0$13556$,
Francois Lafont wrote:Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/shgo=$(date -d "$1" "+%s")
chez moi ça ne marche pas,
tant pis, j'ai mis les calculs explicites, c'est pas grave !now=$(date "+%s")
ça marche !
ouf, c'est le plus important, sinon j'etais coincé ...# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))-----------------------------------------------------
Testé sous Ubuntu 18.04.
et ça marche ?
delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
secondesDans1j ))
chez moi ça donne un nb négatif !
(sleep ne fait pas d'erreur mais n'attend pas)
bien vu, je ne sais pas si j'y aurais pensé
par contre si ça marche chez toi, c'est peut être parce que
$(date "+%s")
ne te donne que l'heure du jour, pas la date ?
chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
donc ça fonctionne avec
delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
secondesDans1j) ) % secondesDans1j ))
merci bcp, ton modèle m'a permis d'avancer très vite, et maintenant
c'est en place :-))
In article <5fce0e08$0$13556$426a74cc@news.free.fr>,
Francois Lafont <francois.lafont@nospam.invalid> wrote:
Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/sh
go=$(date -d "$1" "+%s")
chez moi ça ne marche pas,
tant pis, j'ai mis les calculs explicites, c'est pas grave !
now=$(date "+%s")
ça marche !
ouf, c'est le plus important, sinon j'etais coincé ...
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
-----------------------------------------------------
Testé sous Ubuntu 18.04.
et ça marche ?
delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
secondesDans1j ))
chez moi ça donne un nb négatif !
(sleep ne fait pas d'erreur mais n'attend pas)
bien vu, je ne sais pas si j'y aurais pensé
par contre si ça marche chez toi, c'est peut être parce que
$(date "+%s")
ne te donne que l'heure du jour, pas la date ?
chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
donc ça fonctionne avec
delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
secondesDans1j) ) % secondesDans1j ))
merci bcp, ton modèle m'a permis d'avancer très vite, et maintenant
c'est en place :-))
In article <5fce0e08$0$13556$,
Francois Lafont wrote:Hello,
Sauf erreur de ma part, avec la commande `date`, ce n'est pas si usine Í gaz
que ça, non ?
-----------------------------------------------------
#!/bin/shgo=$(date -d "$1" "+%s")
chez moi ça ne marche pas,
tant pis, j'ai mis les calculs explicites, c'est pas grave !now=$(date "+%s")
ça marche !
ouf, c'est le plus important, sinon j'etais coincé ...# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))-----------------------------------------------------
Testé sous Ubuntu 18.04.
et ça marche ?
delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
secondesDans1j ))
chez moi ça donne un nb négatif !
(sleep ne fait pas d'erreur mais n'attend pas)
bien vu, je ne sais pas si j'y aurais pensé
par contre si ça marche chez toi, c'est peut être parce que
$(date "+%s")
ne te donne que l'heure du jour, pas la date ?
chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
donc ça fonctionne avec
delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
secondesDans1j) ) % secondesDans1j ))
merci bcp, ton modèle m'a permis d'avancer très vite, et maintenant
c'est en place :-))
Alors comme j'ai pour habitude de dire, si c'est pour le fun du
challenge, oui bien sÍ»r que ça vaut le coup. Mais dans ce cas lÍ , il faut
quand même être un minimum capable de trouver soit même la syntaxe pour
avoir une sortie date en secondes.
Alors comme j'ai pour habitude de dire, si c'est pour le fun du
challenge, oui bien sÍ»r que ça vaut le coup. Mais dans ce cas lÍ , il faut
quand même être un minimum capable de trouver soit même la syntaxe pour
avoir une sortie date en secondes.
Alors comme j'ai pour habitude de dire, si c'est pour le fun du
challenge, oui bien sÍ»r que ça vaut le coup. Mais dans ce cas lÍ , il faut
quand même être un minimum capable de trouver soit même la syntaxe pour
avoir une sortie date en secondes.
DéjÍ voici le bon copier/coller (toujours sous Ubuntu 18.04). Dans mon
message précédent, je m'étais mélangé les crayons avec une variable
"hour" pas utilisée (mea culpa) :
------------------------------------------------------
~$ cat /tmp/test.sh
#!/bin/sh
# Ça c'est l'heure d'exécution au format par exemple "23:31:59"
# ie « Heures:minutes:secondes ». On en fait un argument du script
# pour faire des tests facilement.
hour="$1"
go=$(date -d "$hour" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
echo sleep "$delta"
echo next code...
------------------------------------------------------
Et voici quelques exemples d'exécution :
delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
secondesDans1j ))
chez moi ça donne un nb négatif !
(sleep ne fait pas d'erreur mais n'attend pas)
Désolé, je ne pige pas. Sans doute que l'erreur est avant.
bien vu, je ne sais pas si j'y aurais pensé
par contre si ça marche chez toi, c'est peut être parce que
$(date "+%s")
ne te donne que l'heure du jour, pas la date ?
chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
date "+%s" me donne aussi le temps Unix :
~$ date "+%s"
1608080285
donc ça fonctionne avec
delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
secondesDans1j) ) % secondesDans1j ))
Désolé, je suis largué. Tant mieux si ceci fonctionne pour toi.
DéjÍ voici le bon copier/coller (toujours sous Ubuntu 18.04). Dans mon
message précédent, je m'étais mélangé les crayons avec une variable
"hour" pas utilisée (mea culpa) :
------------------------------------------------------
~$ cat /tmp/test.sh
#!/bin/sh
# Ça c'est l'heure d'exécution au format par exemple "23:31:59"
# ie « Heures:minutes:secondes ». On en fait un argument du script
# pour faire des tests facilement.
hour="$1"
go=$(date -d "$hour" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
echo sleep "$delta"
echo next code...
------------------------------------------------------
Et voici quelques exemples d'exécution :
> delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
> secondesDans1j ))
>
> chez moi ça donne un nb négatif !
> (sleep ne fait pas d'erreur mais n'attend pas)
Désolé, je ne pige pas. Sans doute que l'erreur est avant.
> bien vu, je ne sais pas si j'y aurais pensé
>
> par contre si ça marche chez toi, c'est peut être parce que
> $(date "+%s")
> ne te donne que l'heure du jour, pas la date ?
> chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
date "+%s" me donne aussi le temps Unix :
~$ date "+%s"
1608080285
> donc ça fonctionne avec
> delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
> secondesDans1j) ) % secondesDans1j ))
Désolé, je suis largué. Tant mieux si ceci fonctionne pour toi.
DéjÍ voici le bon copier/coller (toujours sous Ubuntu 18.04). Dans mon
message précédent, je m'étais mélangé les crayons avec une variable
"hour" pas utilisée (mea culpa) :
------------------------------------------------------
~$ cat /tmp/test.sh
#!/bin/sh
# Ça c'est l'heure d'exécution au format par exemple "23:31:59"
# ie « Heures:minutes:secondes ». On en fait un argument du script
# pour faire des tests facilement.
hour="$1"
go=$(date -d "$hour" "+%s")
now=$(date "+%s")
# 86400 seconds in 24h.
delta=$(( (go - now + 86400) % 86400 ))
echo sleep "$delta"
echo next code...
------------------------------------------------------
Et voici quelques exemples d'exécution :
delai=$(( (heureChoisie + secondesDans1j - heureMaintetant) %
secondesDans1j ))
chez moi ça donne un nb négatif !
(sleep ne fait pas d'erreur mais n'attend pas)
Désolé, je ne pige pas. Sans doute que l'erreur est avant.
bien vu, je ne sais pas si j'y aurais pensé
par contre si ça marche chez toi, c'est peut être parce que
$(date "+%s")
ne te donne que l'heure du jour, pas la date ?
chez moi c'est l'horodatage complet, depuis "l'époque" je crois ;-)
date "+%s" me donne aussi le temps Unix :
~$ date "+%s"
1608080285
donc ça fonctionne avec
delai=$(( ( (heureChoisie + 2*secondesDans1j) - (heureMaintetant %
secondesDans1j) ) % secondesDans1j ))
Désolé, je suis largué. Tant mieux si ceci fonctionne pour toi.