Page 2 sur 4

Re: demarrage domoticz à la mise sous tension

Posté : lun. 25 juil. 2022 22:31
par domi
Bonjour,
Il doit effectivement y avoir un soucis avec votre installation.
Si après redémarrage manuel cela fonctionne, vous avez la possibilité d'installer un "chien de garde". De mon coté, j'utilise "Monit", car il arrive parfois que le daemon s'arrête après plusieurs jours de fonctionnement, Monit permet de la relancer automatiquement.

Re: demarrage domoticz à la mise sous tension

Posté : mar. 26 juil. 2022 08:47
par dou_dou_69
via cette nouvelle install de domoticz
votre commande sudo /etc/init.d/domoticz.sh restart relance bien le service de domoticz

mais l'ajout de la ligne @reboot sleep 10 && /etc/init.d/domoticz.sh restart
n'a toujours pas l'air de résoudre mon soucis (peu être une erreur de syntaxe)

si ça peut palier à mon soucis je veux bien essayer

j'ai déjà croisé des discussions parlant de monit je vois si j'arrive à m'en servir

j'ai suivi https://doc.ubuntu-fr.org/monit
j'ai encore eu ces 2 lignes pendant l'install de monit

insserv: warning: script 'mountboot.sh' missing LSB tags and overrides
insserv: warning: script 'rkisp_3A.sh' missing LSB tags and overrides

elles apparaissent avec je ne sais plus quelle commande que j'ai essayé avec domoticz, elles sont peu être liées au problème.

pour le réglage de monit il faut suppirmer les # pour activer ces lignes c'est ça
set daemon 60
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { from: monit@serveurdev.example.com } -- mon adresse mail
set alert root@localhost
set httpd port 2812 and
SSL ENABLE
PEMFILE /var/certs/monit.pem
allow admin:test -- mes idents et mot de pass

en tapant cette commande vi /var/certs/monit.cnf

je ne peux rien modifier et donc ne peut taper le texte citer

penses que cette manip résoudrait mon problème

To do so create file /etc/systemd/system/my_script.service with following contents:

[Unit]
Description=My script that requires network
After=network.target

[Service]
Type=oneshot
ExecStart=/full/path/to/my_script.sh

[Install]
WantedBy=multi-user.target

Then execute:

sudo systemctl daemon-reload
sudo systemctl enable my_script

Re: demarrage domoticz à la mise sous tension

Posté : mar. 26 juil. 2022 15:24
par domi
Pour la crontab, il faut que ce soit celle de l'utilisateur "root", et je ne suis pas sûr que les arguments soient acceptés (argument = "restart").
Il faut donc passer par un script qui contiendra uniquement la ligne de commande pour redémarrer domoticz, et lancer ce script depuis la crontab de root.

Pour traiter de Monit, afin de garder le forum le mieux organisé que nous puissions, merci d'ouvrir un nouveau sujet avec votre/vos questions.

Re: demarrage domoticz à la mise sous tension

Posté : mar. 26 juil. 2022 21:08
par dou_dou_69
pour le script, tu pourrais m'expliquer la démarche?

car la ça me dépasse

Re: demarrage domoticz à la mise sous tension

Posté : mar. 26 juil. 2022 22:54
par piper
Juste pour ma culture personnelle par rapport à domoticz :
Visiblement c'est un service
Pourquoi n'est-il pas géré par systemd ?
Et s'il ne l'est pas , pourquoi ne pas faire un script qui le rendrait compatible exploitable par systemd ? Ce n'est vraiment pas compliqué si on veut juste permettre un démarrage auto au boot, , et prévoir un arrêt propre.
rc.d est la solution de facilité qu'on utilisait il y a 20 ans, mais elle empêche toute possibilité de suivi, d'option de démarrage, d'arrêt propre

Ex de script systemd tout simple :

Code : Tout sélectionner

[Unit]
Description=Nom du service 
After=rc-local.service  #par exemple


[Service]
Type=simple
User=root #ou un autre user qui a les droits de lancement
ExecStart=commande à lancer pour démarrer domoticz
ExecStop=commande à lancer pour l'arrêter (optionnel)
PIDFile=fichier pid du process : où vous voulez

[Install]
WantedBy=multi-user.target
Ce script doit être dans

Code : Tout sélectionner

/lib/systemd/system/
Et s'il se nomme

Code : Tout sélectionner

domoticz.service
Alors il sera activé par

Code : Tout sélectionner

sudo systemctl enable domoticz.service
démarré manuellement par

Code : Tout sélectionner

sudo systemctl start domoticz.service
arrêté manuellement par

Code : Tout sélectionner

sudo systemctl stop domoticz.service
désactivé par

Code : Tout sélectionner

sudo systemctl disable domoticz.service
Et on pourra faire aussi "status", "restart", etc...

Re: demarrage domoticz à la mise sous tension

Posté : jeu. 28 juil. 2022 13:38
par dou_dou_69
il se lance au boot mais plante lors de la mise a l'heure donc je voudrais juste décaler son lancement pour que la mise à l'heure soit effective avant son lancement.

pour votre solution
je met le nom du service , ici domoticz
inscrit les 2 commandes à execstart et execstop

tape la commande pour l'activer avec enable

et c'est fini??

Re: demarrage domoticz à la mise sous tension

Posté : jeu. 28 juil. 2022 17:33
par piper
une fois fait
après "enable", le service ne démarrera qu'au reboot
Mais on peut le démarrer sans faire de reboot par "start"

Mais ce qu'il faudrait c'est comprendre pourquoi domoticz plante à la mise à l'heure.
Ce truc a forcément un fichier de log

Re: demarrage domoticz à la mise sous tension

Posté : jeu. 28 juil. 2022 19:19
par dou_dou_69
donc:
[Unit]
Description=domoticz
After=rc-local.service #par exemple quel est le but de cette ligne? local.service à remplacer par domoticz.service


[Service]
Type=simple
User=root #ou un autre user qui a les droits de lancement
ExecStart=commande à lancer pour démarrer domoticz
ExecStop=commande à lancer pour l'arrêter (optionnel)
PIDFile=fichier pid du process : où vous voulez quel est le but de cette ligne? c'est quoi un ficher pid?

[Install]
WantedBy=multi-user.target quel est le but de cette ligne?

Re: demarrage domoticz à la mise sous tension

Posté : ven. 29 juil. 2022 00:47
par piper
After indique après quel autre service celui-ci doit être démarré.
Exemple : certains services exigent que le réseaux soit déjà opérationnel avant de pouvoir être lancé.

WantedBy permet de spécifier dans quel target doit être actif le service.
De mémoire, multi-user.target, désigne les runlevels 2, 3, 4 et 5. (voir SYSV en gros c'est démarrage en mode multi-utitilisateur peu importe que le bureau soit lancé ou pas)

La commande systemctl status ne te dira pas grand chose de plus que l'état du service (Enable ou pas, Started ou pas)

C'est ton script domoticz.sh et ce qui se trouve derrière qui doit géré les erreurs
Soit il a un fichier de log (généralement dans /var/log/)
Soit il renseigne le journal systeme accessible par (journalctl) Ex :

Code : Tout sélectionner

journalctl -u domoticz.service --since "2 hours ago"
Mettre en place un service via systemd fonctionne parfaitement lorsque le script qui démarre le service (ici domoticz.sh) est parfaitement fonctionnel.
systemd permet de faire plein d'autres choses :
- une commande particulière pour arrêter le service
- un redémarrage automatique en cas de plantage , avec les conditions qu'on veut (attention : dangereux, faut savoir ce qu'on fait)
- démarrage après certains services et avant certains services (cas des dépendances)
etc..

Re: demarrage domoticz à la mise sous tension

Posté : mar. 9 août 2022 17:16
par dou_dou_69
donc que faudrait il que je fasse pour que systemd demarre le service de domoticz