abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 15:00 | Nová verze

Byla vydána nová stabilní verze 3.1 (3.1.0) svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled nových vlastností ve videu na YouTube a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
dnes 12:00 | IT novinky

V listopadu 2015 bylo představeno pětidolarové Raspberry Pi Zero. V únoru 2017 desetidolarové Raspberry Pi Zero W s Wi-Fi a Bluetooth. Dnes bylo představeno vylepšené patnáctidolarové Raspberry Pi Zero 2 W.

Ladislav Hagara | Komentářů: 2
dnes 01:11 | Nová verze

Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.2.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze instalovat také ze Snapcraftu. Brzy i z Flathubu.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Nová verze

X Server (xorg-server) 21.1.0 byl oficiálně vydán. Mezi stěžejními novinkami je jmenována podpora např. proměnlivé obnovovací frekvence v modesetting, 2D akcelerace GLAMOR v Xvfb, gest touchpadu v XInput 2.4 nebo dokončení přechodu z Autotools na Meson. XWayland byl již dříve vydán samostatně.

Fluttershy, yay! | Komentářů: 12
26.10. 23:33 | IT novinky

Vývojáři komunikátoru Element, dříve Riot, představili Element One. Za 5 dolarů měsíčně propojí Matrix, WhatsApp, Signal a Telegram.

Ladislav Hagara | Komentářů: 25
26.10. 22:11 | Nová verze

Na konferenci Next.js Conf bylo oznámeno vydání nové verze 12 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 4
26.10. 14:22 | Zajímavý software

Vývojáři open source emulátoru přenosné herní konzole Nintendo Switch Yuzu (Wikipedie) na svém blogu informují, že v nejnovějších sestaveních Yuzu je již k dispozici nejžádanější funkce Resolution Scaler aneb hry navržené pro rozlišení 720p/900p/1080p lze hrát v rozlišení 2K/4K/8K.

Ladislav Hagara | Komentářů: 2
26.10. 13:33 | Komunita

Nadace Raspberry Pi informuje, že ovladač V3DV pro Raspberry Pi 4 úspěšně prošel testy kompatibility s Vulkan 1.1 u Khronosu.

Ladislav Hagara | Komentářů: 0
26.10. 07:00 | Zajímavý projekt

PiBox je NAS postavený na Raspberry Pi Compute Module 4. Na Kickstarteru byla spuštěna kampaň na jeho podporu.

Ladislav Hagara | Komentářů: 21
25.10. 12:44 | Nová verze

Byla vydána třetí opravná verze 19.3 v únoru vydané verze 19.0 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Matrix.

Ladislav Hagara | Komentářů: 6
Kolik monitorů (obrazovek) používáte současně?
 (48%)
 (37%)
 (14%)
 (1%)
Celkem 470 hlasů
 Komentářů: 29, poslední 19.10. 07:04
Rozcestník



Dotaz: Jak spustit script po restartu nebo spuštění serveru

10.10. 16:58 dnes
Jak spustit script po restartu nebo spuštění serveru
Přečteno: 540×
Zdravím, můžu se zeptat zkušených, jak spustit script.sh po restartu nebo spuštění serveru na kterém běží Debian? Jedná se o server bez GUI nejedná se o desktop. Děkuji

Řešení dotazu:


Odpovědi

Pavel 'TIGER' Růžička avatar 10.10. 17:41 Pavel 'TIGER' Růžička | skóre: 52
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Jendа avatar 10.10. 18:05 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Pozor, že Type=simple očekává, že spuštěný proces bude trvale běžet. Pokud se jedná o jednorázový skript (který něco udělá a skončí), nastav Type=oneshot.
#define if(x) if ((x) || (rand() < RAND_MAX * 0.000001))
10.10. 22:35 czjaromir | skóre: 9
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Já bych ho dal do init.d a udělal symlink do rcS.d
Jendа avatar 10.10. 22:38 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
To buď už v Debianu od verze 10 (kdy je efektivně vynuceno používat systemd) nebude fungovat vůbec, nebo se z toho skriptu pomocí automatického generátoru vygeneruje systemd unita, a to nechceš, protože je to komplikované, neprůhledné, zabugované a časem to přestane fungovat.
#define if(x) if ((x) || (rand() < RAND_MAX * 0.000001))
10.10. 22:59 czjaromir | skóre: 9
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
no neveděl jsem že se v linuxu něco vynucuje. A moc se mi to nelíbí. Vím že tam je systemd. Taky vím proč, ale proč by nebylo možné ten skript normálně zařadit do procesů při startu. Kdyby to náhodou nešlo pak je potřeba projít si systemd.
Jendа avatar 10.10. 23:02 Jendа | skóre: 77 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
no neveděl jsem že se v linuxu něco vynucuje
Tak jako nevynucuje, ale když nebudeš mít systemd, tak si budeš muset spoustu věcí řešit sám, protože jiné inity už nejsou podporované.
ale proč by nebylo možné ten skript normálně zařadit do procesů při startu
Vždyť přesně to dělají ty věci probírané výše. Rozdíl je v tom, že systemd nespouští skripty v /etc/rc*, ale programy definované v unitách.
#define if(x) if ((x) || (rand() < RAND_MAX * 0.000001))
11.10. 09:18 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
stroj :~# cat /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=10
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.targe
Pokud si vytvoří za zapne tuhle unitu, tak může normálně používat rc.local jako dřív.
k3dAR avatar 11.10. 13:45 k3dAR | skóre: 61
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
btw: v *buntu je tato unita uz pritomna:
cat /etc/systemd/system/rc-local.service
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
jedine co je potreba, vytvorit /etc/rc.local a "chmod +x /etc/rc.local", a jako posledni radek v rc.local mit: exit 0
porad nemam telo, ale uz mam hlavu... nobody
Řešení 1× (Heron)
Josef Kufner avatar 11.10. 13:55 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Tak jako tak je to však dosti nešikovné řešení a je mnohem lepší si napsat unitu pro tu danou službu či skript. Je to pár řádek a chová se to mnohem lépe.
Hello world ! Segmentation fault (core dumped)
k3dAR avatar 11.10. 14:25 k3dAR | skóre: 61
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
to nerozporuju ;-) sice na drobnosti stale pouzivam rc.local, ale jinak systemd unitu pouzivam treba na x11vnc (nechapu proc nema unitu rovnou (balicek v *buntu)), nahazovani/udrzovani ssh tunelu, spousteni skriptu co krome po startu se ma hlidat ze stale bezi, v skriptu mam sice smycku, ale kdyby to vypadlo tak ho unita znovu nahodi, navic v status pohodlne sleduju zda/co z skriptu zrovna bezi, vidim tam vystupy atd...
porad nemam telo, ale uz mam hlavu... nobody
Josef Kufner avatar 11.10. 18:38 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Ono i na ty drobnosti to je mnohem lepší. Zatím snad všechny problémy, co jsem měl se systemd, byly kvůli nějaké kompatibilitě se starým initem. Použitím rc.local se připravuješ o většinu výhod, které systemd poskytuje a nezbavíš se jeho nevýhod. Přitom napsat plnohodnotnou unit pro nějakou ptákovinu je méně práce než to psát jinam a řešit, že chceš ten oneliner restartovat, ale nechceš spouštět tu věc hned vedle...
Hello world ! Segmentation fault (core dumped)
12.10. 00:29 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
Použití rc.local, tak jak jsem ho uvedl výše má jeden podstatný důvod – spouští se až úplně nakonec. Což je za určitých situací přesně to co chceš, jelikož systemd spouštění paralelizuje a to nemusí být ideální, pokud nechceš řešit 3x3 závislostí.
pepe_ avatar 12.10. 21:15 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru

Já používám :

 

pod uživatelem pod kterým má běžet script se přihlásím a zadám   crontab -e

na konec souboru zadám :

 

@reboot sleep 60 && /cesta/ke/scriptu.sh

 

ukončím editor

no a hotovo.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.