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 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 2
    dnes 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (1%)
    Celkem 122 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

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

    10.10.2021 16:58 dnes
    Jak spustit script po restartu nebo spuštění serveru
    Přečteno: 671×
    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.2021 17:41 Pavel 'TIGER' Růžička | skóre: 54
    Rozbalit Rozbalit vše Re: Jak spustit script po restartu nebo spuštění serveru
    Jendа avatar 10.10.2021 18:05 Jendа | skóre: 78 | 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.
    10.10.2021 22:35 czjaromir | skóre: 18
    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.2021 22:38 Jendа | skóre: 78 | 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.
    10.10.2021 22:59 czjaromir | skóre: 18
    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.2021 23:02 Jendа | skóre: 78 | 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.
    11.10.2021 09:18 Aleš Kapica | skóre: 52 | 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.2021 13:45 k3dAR | skóre: 63
    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.2021 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.2021 14:25 k3dAR | skóre: 63
    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.2021 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.2021 00:29 Aleš Kapica | skóre: 52 | 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.2021 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.