Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 26/10/2012, à 16:59

rtcwake: time doesn't go backward (sauf pour Doc et Marty)

Bonjour à tous,

j'ai découvert rtcwake et je m'en sers pour faire hiberner ma machine le soir, que je retrouve allumée à 8h du matin lorsque j'arrive au boulot. Plutôt intéressant.

j'ai écrit dans mon bashrc les commandes suivantes:

alias hibernatus="sudo rtcwake -m disk -t `date --date 'tomorrow 08:00:00' +"%s"`"

et dans le cas d'un week-end

alias Wehibernatus="sudo rtcwake -m disk -t `date --date '3 days 08:00:00' +"%s"`"

ca fonctionne bien, tous les soirs (ou les vendredi) je tape hibernatus puis mon mdp root et ca roule.

Cependant, lorsque je l'exécute dans la même fenêtre que la veille, il me dit:
rtcwake: time doesn't go backward to <même jour> 08:00:00 2012
si je tape l'une ou l'autre des commandes dans une nouvelle fenêtre de bash, ca fonctionne bien.

Nom de Zeus ! la commande date --date 'tomorrow 08:00:00' renvoie pourtant bien la date du lendemain, et date --date '3 days 08:00:00' celle de 3 jours plus tard...

auriez-vous une idée s'il vous plait ?

D'avance merci !

lalounator


lalounator

Hors ligne

#2 Le 26/10/2012, à 18:06

Re : rtcwake: time doesn't go backward (sauf pour Doc et Marty)

Salut,
Comme tu le fais, date --date '3 days 08:00:00' est calculé au moment de la création de l'alias :

$ date +%T;alias toto="echo `date +%T`"
18:00:05
# On attend un peu...
$ toto
18:00:05
# Encore un peu...
$ toto
18:00:05

Essaie comme ceci :

alias Wehibernatus='sudo rtcwake -m disk -t $(date --date "3 days 08:00:00" +%s)'

Utiliser des simples quotes empêche l'exécution de date au moment de la création de l'alias.
Sinon, préférer l'utilisation de $(commande) plutôt que `commande`, c'est plus facile à lire et à imbriquer.


Precise Pangolin (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 27/10/2012, à 06:20

Re : rtcwake: time doesn't go backward (sauf pour Doc et Marty)

Sinon utilise une fonction au lieu d'un alias.

function hibernatus {
delai='tomorrow 08:00:00'
[[ $(date +%u) -gt 5 ]] && delai='3 days 08:00:00'
sudo rtcwake -m disk -t $(date --date ${delai} +"%s")
}

NB. profites-en pour ajouter ta commande rtcwake dans le fichier sudoers si tu ne veux pas avoir à taper ton mot de passe à chaque fois.


GUL les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#4 Le 24/11/2012, à 15:17

Re : rtcwake: time doesn't go backward (sauf pour Doc et Marty)

Bonjour à tous,

je déterre ce post (que j'avais oublié, mea culpa) pour vous remercier et vous dire que tout a très bien fonctionné ! (et en prime, j'ai compris pourquoi :-))

lalounator


lalounator

Hors ligne

#5 Le 24/11/2012, à 18:06

Re : rtcwake: time doesn't go backward (sauf pour Doc et Marty)

Merci de ton retour (vers le futur), puisque cela fonctionne, tu peux modifier ton premier message et ajouter [résolu] au début du titre. smile


GUL les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

Haut de page ↑