Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: vprint 10. 09. 2012, 09:31:38
-
Napsal jsem script restart.sh, kde jednoduše volám proceduru reboot, ale nefunguje. Zkoušel jsem i hledat a studovat, ale asi jsem na to nekápl, dostal jsem se po sysctl.conf a tady už končí moje chabé znalosti. Potřebuju denně 04,00 restartovat debian, proceduru z cronu už jsem se naučil volat. Umí někdo pomoct? díky.
-
Neni to tim, ze prikaz "reboot" potrebuje prava roota? Proto se skript vykona, ale nema opravneni... zmen "rebootu" vlastnika a zkus to znovu (chown user:user /sbin/reboot)
-
radou pana Stalina se moc neřiďte, sice na debianu, by fungovat neměla, ale kdo ví, jak se vám podařilo systém upravit.
Dále proč vlastně potřebujete debian restartovat?? Obvykle to vůbec není potřeba, naše interní servry mají obvykle aspoň měsíc uptime, dokud nepřijde někdo a neresetne je, tak se na ně nesahá.
dále, mělo by stačit spustit s právy roota pouze reboot nebo shutdown s případnými parametry, nic jiného by nemělo být potřeba.
-
Je ten Tvůj restart.sh spustitelnej? Jaký má práva a vlastníka? (ls -la restart.sh to poví). Pod jakym uživatelem ho spouštíš? Nemusí mít práva na reboot...
-
Spustitelný to samozřejmě je, práva jsou 755, může být, že je potřeba zvednout.
Když jej spustím, vypíše hlášení: Usage: /etc/init.d/reboot start|stop
ale nerestartuje systém.
Co se týče ůčelu restartu, je to složitější problém. Mám spuštěnou aplikaci, která časem zaplní paměť a systém ji zastaví. Nedokáže ji pak nastartovat ani hlídač, který z cronu spouštím každých 5 minut a který by ji měl na základě absence ve výpisu běžících procesů ps nastartovat.
Prozatím by mě stačil ten restart, dokud se neprokoušu k jádru problému.
-
pokud by někdo chtěl zapracovat na původním problému, nebo mě nasměrovat, mohu, budu-li vědět jak, postnout sem výpis ze syslogu, co vlastně ten můj prográmek způsobuje.
-
tak jsem zkusil změnit práva restart.sh na 777, ale tentokrát jen bez hlášky, reboot se nekonal.
-
Řekl bych, že sis sám odpověděl v této zprávě: http://forum.root.cz/index.php?topic=4941.msg42862#msg42862
pročpak spouštíš /etc/init.d/reboot a ne /sbin/reboot ?
pročpak potřebuješ na spuštění reboot z cronu skript, když ho můžeš v cronu zadat rovnou?
-
# cat /etc/cron.d/reboot
* * * * * root /sbin/shutdown -r now
BTW přečti si něco o tom, co je to init skript. BTW2, nestačí restartovat jenom tu aplikaci?
-
pročpak spouštíš /etc/init.d/reboot a ne /sbin/reboot ?
pročpak potřebuješ na spuštění reboot z cronu skript, když ho můžeš v cronu zadat rovnou?
To proto, že jsem ještě linuxový batole, a nemám tuto informaci.
# cat /etc/cron.d/reboot
* * * * * root /sbin/shutdown -r now
zrestartuje to, nebo jen vypne?
BTW přečti si něco o tom, co je to init skript. BTW2, nestačí restartovat jenom tu aplikaci?
Bohužel ne. Ale studuju pilně syslog, i když programátořština je nejteéžší jazyk na světě, věřím, že se prokoušu k jádru pudla.
-
zrestartuje to, nebo jen vypne?
man shutdown:
...
-r, --reboot
Reboot the machine.
...
/sbin/reboot je jenom alias na shutdown -r.
Ale studuju pilně syslog, i když programátořština je nejteéžší jazyk na světě, věřím, že se prokoušu k jádru pudla.
Proč syslog? Tam jsem v životě hledal jenom nefunkční cronjoby, jinak tam celkem nic zajímavýho neni (pokud tam neloguje ta aplikace).
-
# cat /etc/cron.d/reboot
* * * * * root /sbin/shutdown -r now
To je skoro stejně dobré, jako rada od Stalina o pár řádků výše. Schválně, jestli se mezi restarty stihne přihlásit ke konzoli nebo bude muset studovat, jak spustit nouzový režim.
Na druhou stranu, alespoň nebude muset čekat do čtyřech hodin ráno, aby viděl, zda to funguje ;-)
-
Děkuju mockrát, myslím, že už jsem to pochopil, jdu to dát.
syslog studuju ze stejného duvodu - prozatimní nedostatek informací. Když jsem nahlížel do problematiky logování, dostal jsem se k syslogu, kde jsou myslím dostatečné informace k shození mého prográmku. A zamozřejmě, problematika logování, jako jakákoli jiná, vyžaduje mnohem delší studium, než já mám k dispozici na, alespoň provizorní řešení mého problému.
Ještě jednou děkuji.
Tuto odpověď jsem psal dříve, teď ještě k poslednímu příspěvku.
Myslím, že je to jen torzo nastavení kronu, čas si tam snad už budu umět dostavit sám.
-
To je skoro stejně dobré, jako rada od Stalina o pár řádků výše. Schválně, jestli se mezi restarty stihne přihlásit ke konzoli nebo bude muset studovat, jak spustit nouzový režim.
To je trest za slepé kopírování z webu 8) . Tohle byl jenom copy/paste z mého testování - ale vprint už dříve psal, že crontab psal, tak jsem předpokládal, že si čas upraví.
Kdyžtak vždycky ve 4 ráno:
0 4 * * * ...
-
V žádném případě nekopíruju slepě z webu. Nejdřív si prostuduju problematiku a až když nevím jak dál, tak se ptám. Navíc vše testuju na cvičném stroji.
I když je to na tykev, ten čas si už umím upravit.
Ještě jednou děkuju všem za odpovědi.
-
Dobrý, vidět někoho, kdo se zajímá. Kdyžtak se zase zeptej, ostatní Ti poradí (rychlejš než já a pravděpodobně i líp :-) ).
-
Tak bych měl tedy přeci jenom ještě jednu drobnost.
Po pečlivém prostudování časování cronu a jeho formátu zápisu mi není docela jasné, zda je tady možnost nastavit časový ůsek. Vysvětlím.
Tak třeba vím, že prográmek je systémem killnut přibližně po 72 hodinách běhu - přesněji není možno určit, jelikož zaplnění paměti je odvislé od více faktorů. Chtěl bych tedy nastavit cron tak, aby zrestartoval systém po 48 hodinách od posledního startu.
-
v crontabu na pozici pro dny */2 znamená obden
-
Děkuju, věděl jsem, že mi to nějak o vlásek uniká.
-
A nebylo by jednodušší jednou za den (nebo když paměť přeleze přes daný threshold, lze nastavit přes ulimit) restartovat jen ten prográmek?
-
Možná bylo, a možná se k tomu také dostanu. Ale prozatím mi nefunguje script na restart toho prográmku, tak jsem chtěl radši vetší kalibr na problém. On je to debian bez grafiky, a startuje do 10 vteřinek, nejvíc jej zdrží proftp, které se také chystám přeinstalovat. Já to neumim odborně říct, ale jede v jakémsi full naslouchacím modu, umí to i mód, jako když spí a vzbudí se až na požadavek o spojení. Rozdíl je v způsobu použití ftp. mně stačí ten spící, protože ftp provoz je tam 00nic.
-
init 6