logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 21-08-2015 05:40:43

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Cron Job : Changer l'heure à la volée

Bonjour à tous,

J'ai une petite question à vous soumettre (Âmes sensibles s'abstenir lol) .

Voilà, depuis quelques jours, ma Debian contrôle mes prises électriques (Oui, je sais.... On s'amuse comme on peu big_smile).

J'ai aussi un script qui récupère (avec l'API de WeatherMap) l'heure du couché de soleil.

Pour l'instant, le script qui allume la prise électrique de la lumière est lancé à une heure fixe à l'aide de Cron (/etc/crontab)

Voici ma question, Y-a-t'il un moyen "propre" de changer l'heure de lancement de mon script (allume la lumière), selon l'heure du couché de soleil ??

En fait, Y-a-t'il un moyen de "reprogrammer" crontab toutes les heures par exemple ??

Et tout ça en version "Propre" big_smile

Une idée ??

Merci par avance.

Orsam

Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#2 21-08-2015 06:54:34

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Cron Job : Changer l'heure à la volée

Salut,
Amusant ton affaire là ! Comment tu fais pour que Debian contrôle l'allumage ou l'extinction des prises ?
Pour le script pourquoi pas un cronjob qui s'éxecute toutes les heures et qui vérifie si l'heure actuelle et égale à l'heure récupérée sur WeatherMap, si non, il fait rien, si oui il lance le script.
Après tu peux contrôler si le script est déjà lancé en lui faisant créer un fichier avec son PID ou autre.

1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

#3 21-08-2015 08:14:17

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Re : Cron Job : Changer l'heure à la volée

Bonjour et merci pour ta réponse,

Pour ta première question :

Amusant ton affaire là ! Comment tu fais pour que Debian contrôle l'allumage ou l'extinction des prises ?



En faite, j'ai acheté deux prise chez l'enseigne Aldi : va voir le modèle ici : https://www.dealabs.com/bons-plans/pris … 21?page=13

Cette prise est contrôlé par SmartPhone, mais boff....

Ensuite, je trouvé ça :  "Methode de pilotage" : https://github.com/supermat/SmartPlug/w … e-la-prise

Comme tu peux le voir, avec un simple curl http://ip_de_la_prise on contrôle l'allumage, l'eteignage et tu peux même vérifier la consommation de l'appareil branché dessus..

Et en suite, pour les plus "....", déclenchement de la prise en mode vocale avec Yana Server : https://github.com/ldleman/yana-server lol lol

En ce qui concerne ton idée, j'y ai déjà pensé, mais si l'heure de couché de soleil est à 21:32 (par exemple), l'allumage des lumières ne se fera que 28 minutes plus tard... Puisque cron lance le script toutes les heures...

Voila où est mon problème...

Orsam

Dernière modification par Orsam999 (21-08-2015 08:15:10)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#4 21-08-2015 10:08:31

Thuban
aka prx
Distrib. : OpenBSD
Noyau : current
(G)UI : cwm
Inscription : 09-01-2009
Site Web

Re : Cron Job : Changer l'heure à la volée

Salut!
Oui, tu peux modifier le crontab en ligne de commande.
Pour récupérer le crontab actuel :

crontab -l > /tmp/moncrontab


tu modifies à coup de sed par exemple.
Ensuite, tu peux recharger le crontab ainsi :

cat /tmp/moncrontab | crontab -

Hors ligne

#5 21-08-2015 10:20:25

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Re : Cron Job : Changer l'heure à la volée

Bonjour Thuban et merci pour ta réponse,


En essayant, ta première ligne de code, j'ai ce message :



no crontab for root
 




Comment ça se fait ??


Je suis toujours logué en root.


Merci à toi,


Orsam


PS : Petit ajout à mon message ci-dessus


En tapant :

 /etc/crontab -l > /tmp/moncrontab




J'obtiens ceci (que je comprends encore moins)


-bash: /etc/crontab: Permission non accordée
 

Dernière modification par Orsam999 (21-08-2015 10:23:30)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#6 21-08-2015 12:38:50

sogal
Black Metal Modo
Lieu : Nord Isère
Distrib. : openSUSE Leap 42.3
Noyau : Linux 4.4.76
(G)UI : GNOME
Inscription : 09-05-2013
Site Web

Re : Cron Job : Changer l'heure à la volée

Orsam999 a écrit :

En ce qui concerne ton idée, j'y ai déjà pensé, mais si l'heure de couché de soleil est à 21:32 (par exemple), l'allumage des lumières ne se fera que 28 minutes plus tard... Puisque cron lance le script toutes les heures...


En ce cas, tu peux raccourcir l'intervalle d'éxecution du script.

Orsam999 a écrit :

En tapant :

 /etc/crontab -l > /tmp/moncrontab


/etc/crontab est un fichier standard, pas un exécutable, il n'accepte donc pas d'option.
Voir

man 1 crontab


et

man 5 crontab


pour plus de précisions.


1485418338.png Hello IT ! Have you tried turning it off and on again ?

Hors ligne

Pied de page des forums