Portál AbcLinuxu, 8. května 2025 00:39

Dotaz: Služba pro automatický restart spadlého Domoticz

7.11.2019 11:48 Honza
Služba pro automatický restart spadlého Domoticz
Přečteno: 932×
Odpovědět | Admin
Ahoj. Mám RPi s nainstalovaným Raspbianem, na kterém běží server Domoticz, který se spouští jako služba po startu systému. Domoticz přestane běžet, nevím proč, pravidelně v 0:00 hod. Toto jsem schopen vyřešit přes cron restartem třeba v 0:02 hod. Stalo se však i to, že po výpadku napájení Domoticz nenaběhl, pomohl až ruční start systemctl start domoticz. Zatím nemohu řešit, proč se to děje, ale:

Je možné zavést nějakou službu, která by v nějakých intervalech sledavala běh Domoticz a v případě, že bude ve výpisu jako pod příspěvkem ve čtvrtém řádku Active: active (exited) sama restartovala Domoticz?

Díky
pi@domoticz:~ $ systemctl status domoticz
● domoticz.service - LSB: Home Automation System
   Loaded: loaded (/etc/init.d/domoticz.sh; generated; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-07 00:02:34 CET; 11h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 26393 ExecStop=/etc/init.d/domoticz.sh stop (code=exited, status=0/SU
  Process: 26446 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/domoticz.service
           └─26453 /home/pi/domoticz/domoticz -daemon -www 8181 -sslwww 4443

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.11.2019 12:08 NN
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli jsi zvykli z Windows resit problemy restartem, tak v Linuxu se takto se problemy neresi. Muzes zacit proctenim logu, a vzhledem k pravidelnosti kontrolou cronu.
7.11.2019 13:16 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Nejsem. Win řadu let nepoužívám. Příště, pokud chceš něco psát, odpovídej na otázku. Byla celkem srozumitelně položena. Možná máš problém s pochopením textu?
7.11.2019 13:48 NN
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Takze proc to pada se nedozvime. Asi to kazdy resime jinak. V pohode.
Gréta avatar 7.11.2019 13:57 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
když se omluvíš tak ti pak třeba povim že mi takhle padalo na malince kodi a že jsem to vyřešila vytvořením samostatnýho uživatele 'kodi' pod kterýho jsem to všecko nainstalovala a bylo. jinak mi to kodi padalo vždycky po pár hoďkách pod tim uživatelem 'pi'
Max avatar 7.11.2019 12:56 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych se podívat na systemd / úpravu nastavení unit souboru domoticz :
...
Restart=on-failure
RestartSec=10s
...
Zdar Max
Měl jsem sen ... :(
7.11.2019 13:11 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Díky. Předpokládám, že soubor k úpravě by měl být umístěn v /etc/systemd/system popř. někde v adresáři /etc/systemd. Tam ale není, nebo nevím, co mám hledat.
7.11.2019 14:15 MP
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
man systemd + edit/override
7.11.2019 14:44 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Díky. To asi půjde.
Gréta avatar 7.11.2019 14:48 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
samo že to takle asi pude ale bylo by jako dobrý i zjistit proč to padá
7.11.2019 17:32 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Na to se chystám, ale mám tam mj. HW problémy (velmi slabý zdroj pro rpi). Dělal jsem v nastavení domoticz spoustu (h)různých úprav a po odladění (+co si ještě vymyslím) udělám čistou instalaci systému a kulturní nastavení domoticz. Je to řídící jednotka pro automatický kotel na tuhá paliva s vizualizací, zasílání havarijních/neobvyklých stavů na email, samozřejmě je bezpečnost důkladně ošetřená SW a především nezávisle HW. Časuje to dávkování paliva, chod ventilátoru a další věci. Ten automatický restart je velice důležitý i po zjištění, proč to padá - po cca 3 hodinách by to vyhaslo a k pádu přece dojít může. Testuji to.
Gréta avatar 10.11.2019 13:35 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz

na zdroj u verze 4 pozor ve špičce chce žrát víc než ty předchozí malinky. zdroj co k němu teď prodávaj je 5.1V/3A hele tady napájení řešej. a jestli z malinky chceš napájet nějaký další žrouty tak asi budeš potřebovat i napájenej usb hub nebo nějakej jinej externí zdroj. nevim jak řešíš napájení a co všechno do malinky strkáš ale určitě si to změř ampérmetrem

 

btw si myslim že se zima ptá co si dělal v létě ;D

10.11.2019 20:15 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Mám Rpi3b, na tohle bohatě stačí. Už tam ale mám 4A průmyslový zdroj, pro jistotu ještě odfiltrovaný na výstupu. Na tohle je to až kam. Jediné, co to bude napájet je modul 4 relé + čidla ds18b20. Připojení do sítě je přes kabel, ale možná z toho ještě vytvořím wifi AP pro sklepní prostory. Napájení mám už OK.
Gréta avatar 11.11.2019 15:02 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
to bude asi v poho, malinka 3 B žere někde kolem 0.5-1A, zdroj je ale dimenzovanej na víc takže tam bude špička při zapínání, ošklivou špičku taky mužou udělat relátka (všecko co má v sobě solenoid) když je najednou všecky přepneš z OFF na ON.

a uplně nejošklivější špička bude když se oboje stane najednou. když si tuhle eventualitu vyzkoušíš tak budš mit jistotu ale si myslim že to je na 99.999999999999999% v poho ;D
Max avatar 7.11.2019 14:47 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Nemusíš nic hledat, stačí :
systemctl edit domoticz
# případně
systemctl edit --full domoticz
Zdar Max
Měl jsem sen ... :(
7.11.2019 17:21 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Díky. Smazal jsem v crontabu pravidelný restart služby domoticz a upravený soubor systemd nyní vypadá takto:
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/domoticz.sh
Description=LSB: Home Automation System
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
After=network-online.target
After=remote-fs.target
After=time-sync.target
Wants=network-online.target

[Service]
Type=forking
#Restart=no
#TimeoutSec=5min
Restart=on-failure
RestartSec=10s
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SuccessExitStatus=5 6
ExecStart=/etc/init.d/domoticz.sh start
ExecStop=/etc/init.d/domoticz.sh stop
ExecReload=/etc/init.d/domoticz.sh reload
Může to tak být? Služba nyní jde uvidím, co to provede.
Max avatar 7.11.2019 20:29 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Nikdy jsem to neřešil, byl to jen tip. Si to zkus nasimulovat a killni domoticz proces a pak uvidíš, co se bude dít.
Zdar Max
Měl jsem sen ... :(
michich avatar 8.11.2019 14:52 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
RemainAfterExit v tomhle případě určitě nechceš.

Rovnou bych se vykašlal na ten initskript a spouštěl tu binárku přímo. Nějak takto:
[Unit]
Description=Home Automation System
# nezkoumal jsem, jestli jsou vsechny tyto zavislosti opravdu nutne:
After=network-online.target remote-fs.target time-sync.target
Wants=network-online.target

[Service]
ExecStart=/home/pi/domoticz/domoticz -syslog -www 8181 -sslwww 4443
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=10s
Josef Kufner avatar 8.11.2019 17:59 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Rovnou bych se vykašlal na ten initskript a spouštěl tu binárku přímo.
Používání initscriptů je asi nejčastější příčinou problémů se Systemd. Rozhodně to doporučuju vyházet a napsat unit file pořádně a bez obezliček.
Hello world ! Segmentation fault (core dumped)
9.11.2019 17:20 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Tohle to celkem spolehlivě hlídá, udělal jsem výpadek napájení, zabití procesu a chodí to. V cronu to spouštím zatím po 10 min.
#!/bin/sh

if systemctl status domoticz | grep -v grep | grep "active (running)"
then
    echo "Domoticz běží."
else
    echo "Domoticz neběží, restartuji ho."
systemctl restart domoticz 

fi
Jinak všem díky.
Josef Kufner avatar 10.11.2019 00:36 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Toto dělají ty dva řádky:
Restart=on-failure
RestartSec=10s
Hello world ! Segmentation fault (core dumped)
10.11.2019 20:17 Honza
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Mělo by. Mě to ale nejde. Pokud proces zabiju ručně, k restartu služby nedojde. Ten skriptík to řeší v pohodě.
Gréta avatar 11.11.2019 14:32 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz

během svých dnů buď v pohodě s always :D :D :D :D

 

...
Restart=always
RestartSec=10s
...
11.11.2019 15:24 Jindřich Makovička | skóre: 17
Rozbalit Rozbalit vše Re: Služba pro automatický restart spadlého Domoticz
Pokud proces zabiju ručně, k restartu služby nedojde.
Což je přesně očekávané chování on-failure, viz dokumentace.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.