Čas vytvorenia Lets Encrypt certifikátu neodpovedá času spustenia cron-u

Za predpokladu ze je sluzba v stave enabled, tak sa pusti pri starte systemu.
Ale služby, které se mají spouštět z timeru, se do stavu enabled nepřepínají. Byl by to nesmysl. I pokud bych chtěl spouštět takovou službu v souvislosti se startem systému, použiju k tomu prostředky timeru.

Za predpokladu ze je sluzba nastavena ako daemon
Služby spouštěné z timeru se neanastavují jako daemon (ostatně takový typ služby ani systemd nezná), ale jako oneshot. Ta služba se prostě spustí a když udělá, co má, tak se ukončí. A je to tak v pořádku, systemd se nemá starat o to, aby běžela pořád. Až přijde správný čas, timer službu spustí znovu.

Ak sa ma sluzba vykonavat periodicky, tak nie je daemon a je disabled. Timer sa spusta peridicky podla nastvenia a vola prislusnu sluzbu.
Já jsem ovšem psal jenom o timeru.


nastavenia certbot som urcite nemenil, musi to byt v ubuntu takto nastavene ako default.
To je správně, že je to tak nastavené. Je díky tomu zajištěné, že je ta služba hned po instalaci funkční.

ostatně takový typ služby ani systemd nezná
No, on systemd akosi predpoklada, ze default bude Type=simple a program ktory bude spusteny je nejaka sluzba ktora bude napr. pocuvat na sokete a tym padom bude v slucke. Teda on skoncit aj moze (Type=forking) a sluzba bude aktivna, kym budu bezat child procesy.

Já jsem ovšem psal jenom o timeru.
V pohode, ja som sa rozpisal obsirnejsie, nechcel aby si dotazovatel myslel ze je to len taka hype nahrada cronu, ale ze je to ovela komplexnejsi nastroj. Je v tom nejaky problem?

No, on systemd akosi predpoklada, ze default bude Type=simple a program ktory bude spusteny je nejaka sluzba ktora bude napr. pocuvat na sokete a tym padom bude v slucke. Teda on skoncit aj moze (Type=forking) a sluzba bude aktivna, kym budu bezat child procesy.
Systemd zná služby typu simple, exec, forking, oneshot, dbus, notify a idle. Typ deamon mezi nimi není.

V pohode, ja som sa rozpisal obsirnejsie, nechcel aby si dotazovatel myslel ze je to len taka hype nahrada cronu, ale ze je to ovela komplexnejsi nastroj. Je v tom nejaky problem?
Nezdálo se, že by kvas netušil, co je systemd. Navíc když byla řeč o sytemd-timer, nedává smysl vybrat si k tomu jednu z desítek služeb, které může poskytovat systemd, a začít popisovat jeden její detail. Nemyslím si, že by díky tomu kvas získal lepší představu, co je systemd – spíš naopak.

Njn, zase vela zbytocnych slov. Nezda sa vam ze tie litanie ktorymi zahlcujete root su uplne zbytocne, ked nedokazete identifikovat trivialny problem? Alebo, nevadi ked je clovek blby, hlavne to musi vediet obkecat, vsak :D


Njn, zase vela zbytocnych slov. Nezda sa vam ze tie litanie ktorymi zahlcujete root su uplne zbytocne, ked nedokazete identifikovat trivialny problem? Alebo, nevadi ked je clovek blby, hlavne to musi vediet obkecat, vsak :D
Ano, váš nepřesný komentář o systemd službách byl úplně zbytečný.

Ja vim cim to je. :) Certbot pozna, ze je spousteny periodicky a v takovem pripade pridava na startu nahodny delay, aby klice v certifikatech byly co nejvic randomizovane a nezavisle na case.

Ano, váš nepřesný komentář o systemd službách byl úplně zbytečný.
Nie, to vy sa mylne domienate ze direktiva type urcuje pozadovany sposob behu sluzby. Ona vsak popisuje stavajuci sposob behu aplikacie ktora tu sluzbu obsluhuje. K tomu ci a ako sa ma systemd snazit udrzat sluzbu zivu sluzia ine direktivy.

Taktiez sa mylne domievate ze dotazovatel blizsie pozna systemd. Ked sa vratite par postov spat, tak zistite ze vie o existencii systemd a to je vsetko.
« Poslední změna: 12. 03. 2022, 02:51:25 od Death Walker »

Nie, to vy sa mylne domienate ze direktiva type urcuje pozadovany sposob behu sluzby. Ona vsak popisuje stavajuci sposob behu aplikacie ktora tu sluzbu obsluhuje. K tomu ci a ako sa ma systemd snazit udrzat sluzbu zivu sluzia ine direktivy.
Jistě, to se mylně domnívám já, autoři dokumentace systemd a spousta dalších lidí. Ovšem jenom vy to víte správně – systemd podle vás asi nějak magicky prozkoumá aplikaci, aby zjistilo způsob běhu, zapíše to do souboru a pak vám to asi nedovolí v editoru změnit.

Ve skutečnosti když budete mít službu, která se odforkuje na pozadí, nic vám nezabrání nastavit jí typ simple. Akorát že systemd se pak bude domnívat, že se služba ukončila, jakmile se hlavní proces odforkuje a ukončí. A pokud je jednotka nakonfigurovaná, aby běžela stále, pokusí se jim systemd nastartovat znova. Protože type nepopisuje stávající způsob běhu aplikace, ale určuje způsob, jak se služba startuje.

Taktiez sa mylne domievate ze dotazovatel blizsie pozna systemd. Ked sa vratite par postov spat, tak zistite ze vie o existencii systemd a to je vsetko.
Ne, nic takového se nedomnívám. To bych nepopisoval, k čemu je a jak se používá systemd.timer. Nicméně vy jste v tom tazateli nejspíš udělal guláš, protože jste z desítek služeb systemd vybral jednu, kterou tazatel nepotřebuje, a z té jste nepřesně popsal pár nezajímavých detailů.

Jistě, to se mylně domnívám já, autoři dokumentace systemd a spousta dalších lidí. Ovšem jenom vy to víte správně – systemd podle vás asi nějak magicky prozkoumá aplikaci, aby zjistilo způsob běhu, zapíše to do souboru a pak vám to asi nedovolí v editoru změnit.

Ve skutečnosti když budete mít službu, která se odforkuje na pozadí, nic vám nezabrání nastavit jí typ simple. Akorát že systemd se pak bude domnívat, že se služba ukončila, jakmile se hlavní proces odforkuje a ukončí. A pokud je jednotka nakonfigurovaná, aby běžela stále, pokusí se jim systemd nastartovat znova. Protože type nepopisuje stávající způsob běhu aplikace, ale určuje způsob, jak se služba startuje.

Kde som pisal ze systemd sito urci sam?

Inak uz sa blizite. Fork main procesu, jeho ukoncenie a nasledovny beh forku na pozadi je najbeznesi sposob na spustenie coho? Ano DAEMONu.

Ne, nic takového se nedomnívám. To bych nepopisoval, k čemu je a jak se používá systemd.timer. Nicméně vy jste v tom tazateli nejspíš udělal guláš, protože jste z desítek služeb systemd vybral jednu, kterou tazatel nepotřebuje, a z té jste nepřesně popsal pár nezajímavých detailů.

Gulas v tom mate evidentne len vy sam :D

Kde som pisal ze systemd sito urci sam?
Psal jste, že type popisuje stávající způsob běhu aplikace. Jenže systemd nepotřebuje znát nějaký popis, systemd musí vědět, jakým způsobem službu spustit a spravovat. Takže by to z toho popisu asi musel odvodit sám.

Inak uz sa blizite. Fork main procesu, jeho ukoncenie a nasledovny beh forku na pozadi je najbeznesi sposob na spustenie coho? Ano DAEMONu.
Jenže systemd nezná žádný typ spuštění daemon. Navíc jste to zase napsal špatně, protože označení daemon vzniklo speciálně pro označení procesů běžících na pozadí, které dělají double fork, aby se osvobodily z dosahu procesu, který je spustil.

Gulas v tom mate evidentne len vy sam :D
Ne, nemám. Na rozdíl od vás vím, že služby spouštěné z timeru se neenablují a nenastavuje se jim neexistující typ daemon, ani jiné náhodně zvolené typy, ale nastavuje se jim typ oneshot. Protože ty služby neslouží jako systémová služba, slouží pouze jako cíl timeru.

Psal jste, že type popisuje stávající způsob běhu aplikace. Jenže systemd nepotřebuje znát nějaký popis, systemd musí vědět, jakým způsobem službu spustit a spravovat. Takže by to z toho popisu asi musel odvodit sám.
K tomu ako povedat systemd o tom ako ma sluzbu spustit alebo zastavit sluzia ine direktivy.

Jenže systemd nezná žádný typ spuštění daemon. Navíc jste to zase napsal špatně, protože označení daemon vzniklo speciálně pro označení procesů běžících na pozadí, které dělají double fork, aby se osvobodily z dosahu procesu, který je spustil.

No uz sa blizite, a ako poviete systemd ze ze aj ked hlavny proce skoncil, tak sluzba bezi dalej v podobe forku? Ze by type=forking? Tvl, jak v pomocnej skole...

Ne, nemám. Na rozdíl od vás vím, že služby spouštěné z timeru se neenablují a nenastavuje se jim neexistující typ daemon, ani jiné náhodně zvolené typy, ale nastavuje se jim typ oneshot. Protože ty služby neslouží jako systémová služba, slouží pouze jako cíl timeru.
Vy mate gulas dokonca aj v tom v akej casovej zone bude cas vytvorenia suboru, ako ste pisal vyssie :D Asi ste nezachytil ze dotazovatel zmenil kontext na to ze zatial pouziva init.d, ten timery nevie.

Ne, nemám. Na rozdíl od vás vím, že služby spouštěné z timeru se neenablují a nenastavuje se jim neexistující typ daemon, ani jiné náhodně zvolené typy, ale nastavuje se jim typ oneshot.

Pre timery sa skor preferuje simple ako oneshot. Ak je interval timeru kratsi ako je interval po ktory bezi proces v ExecStart, tak je spustenie pre oneshot blokovane - moze sa zdat ze timer nespusti proces vzdy.