Phreakartz a écrit : 27 août 2019, 18:58
Le seul moyen que j'ai de le récupérer est de lancer la commande
sudo ./domoticz, mais cela ne dure que le temps de l’exécution de cette commande. Dès que je fais Ctrl+C ou que je ferme la fenêtre putty, le serveur web s'arrête.
Pour autant, Domoticz doit continuer de tourner car je n'ai aucun trou de données dans mes mesures d'énergie et de températures au moment où j'y accède avec la commande précédente.
Lorsque je lance la commande
sudo /etc/init.d/domoticz.sh start, le message suivant apparaît :
[....] Starting domoticz.sh (via systemctl): domoticz.serviceWarning: domoticz.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Quelqu'un pour m'aider svp ?
Avant de démarrer domoticz manuellement (cad pas comme un service), par exemple pour voir les logs s'afficher à la console afin de comprendre un problème, il faut stopper le service s'il s’exécutait au préalable: Au mieux il ne sera pas relancé, au pire on a 2 process qui tournent en concurrence (pouvant expliquer que la BDD reste alimentée malgré la perte d'accès).
Pour vérifier,
Si on a plusieurs numéros (process ID), c'est que plusieurs process domoticz sont lancés.
Dans ce cas faire
au préalable. Revérifier (au cas ou des process aient été lancés à la main et désormais qu'on est certain de ne pas se prendre un redémarrage automatique de la part de systemd, selon la config domoticz.service).
S'il en reste, les tuer:
Re vérifier après qq secondes (le temps de fermer proprement connections/fichiers ouverts)... et au pire, utiliser l'arme atomique (a ne tenter qu'en dernier lieu):
Et de là tenter de le démarrer manuellement pour voir les logs en direct. Surveiller en particulier que le "bind" au port http (80 ou 8080, ce qui est configuré dans le domoticz.sh) n'échoue pas: Il m'est arrivé (sur d'anciennes versions de Domoticz) d'avoir la partie http plantée de domoticz qui restait accrochée au port malgré que le service domoticz fut tué, d’où échec... En pareil cas, redémarrer le PI peut être le plus simple avant de repartir sur l'arrêt du service et son redémarrage manuel pour comprendre son souci.
Et laisser le terminal ouvert bien entendu. Si ce n'est pas possible car système seulement accessible par le réseau et qu'on veut pas laisser un PC allumé des heures avec le terminal actif, il est possible de lancer cela dans un "screen": A la perte de connection, il sera détaché et on s'y ré-attache quand on veut.
Il faudra alors installer screen:
Puis,tous process/service domoticz arrêtés, du terminal de test, se faire une session "screen" en la nommant test:
et de là, lancer domoticz dans la console. On peut laisser tourner tant qu'on veut et quand le pb apparait on se reconnecte en ssh puis se ré-attacher (en étant certain d'être détaché au préalable):
Et on récupère son terminal malgré la perte de connexion/fermeture, avec les logs.