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 06:40:43

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (wheezy)
Noyau : Linux 3.2.0-4-486
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 07:54:34

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(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.

Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

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

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (wheezy)
Noyau : Linux 3.2.0-4-486
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 09:15:10)


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

Hors ligne

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

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
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 -


YA3HGA-H

Hors ligne

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

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (wheezy)
Noyau : Linux 3.2.0-4-486
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 11:23:30)


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

Hors ligne

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

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(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.


Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

Pied de page des forums