Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: HannuTapio - 15.02.18 - klo:14.11
-
Hei,
Minulla on websocketteja varten palvelinohjelma, tämä ohjelma käynnistyy crontabissa, aina kello 2:44, minulla apache2 sitten käynnistyy 2:45, tällä tavoin on tarkoitus ajaa JS peli ohjelmiani.
Ongelmana on että tuo palvelinohjelma ei käynnisty, minulla oli tuo aiemmin debian 9 stretch kanssa ja siellä toimi.
Onko ubuntun "crontab -e" erillainen mitä debian, vai onko minulla jokin asetus väärin.
Kun laitan komentoriville tuon "sh /root/launch.sh" niin, ohjelma käynnistyy, mutta, nyt on yö ollut ilman että aamusta kun tarkistan, niin, palvelinohjelma ei ole käynnistynyt.
Vaihdoin debian 9 nyt sitten taas ubuntu 16.04 server.
crontab -e ja siellä on rivi -> 44 2 * * * sh /root/launch.sh
--
-
Tarvitseeko scriptisi juuri-käyttäjän oikeudet ?
-
sh käskyä,
Minun tietoni mukaan kaikki crontab -e takaa löytyvät käskyt ovat automaattisesti sudoa. :)
Minulla on myös iptables ollut asentumatta, viime yönä, minulla on palvelin reset 2:30, minun iptables on crontab -e käskyn takaa -> @reboot sh /root/iptables.sh
Olisiko se tuo ylimääräinen sh käsky jonka kirjaan ennen komentoon ohjausta.
-
Tarvitseeko scriptisi juuri-käyttäjän oikeudet ?
Minä kirjasin sudo kaikkien käskyjen eteen, mitä sh tiedostoissa onkaan, ja resetoin, nyt sitten taisi toimia, minä luulin että nuo käskyt olisi automaattisesti sudon kanssa, kun ne ovat crontab -e kautta.
Mutta, joo, tämä toimii taas nyt.
Minun tietojeni mukaan crontab käskyt ovat sudoa ???
:)
--
-
Minä kirjasin sudo kaikkien käskyjen eteen, mitä sh tiedostoissa onkaan, ja resetoin, nyt sitten taisi toimia, minä luulin että nuo käskyt olisi automaattisesti sudon kanssa, kun ne ovat crontab -e kautta.
Crontabiin laitetut käskyt ajetaan sillä käyttäjällä, jona tuo crontab -e -komento on ajettu eli oma käyttäjäsi tai jos laitat sudon sen eteen, niin root-käyttäjänä. (Sudon avulla on toki mahdollista avata myös jonkun muunkin käyttäjän crontab.)
Minun tietojeni mukaan crontab käskyt ovat sudoa ???
sudo tarkoittaa "superuser do" eli käytännössä, että suorita root-käyttäjänä. Unix-järjestelmien pääkäyttäjää kutsutaan rootiksi ja sillä on kaikki oikeudet koko järjestelmään. Voit ajaa cronilla käskyjä root-käyttäjänä avaamalla root-käyttäjän crontabin:
sudo crontab -e
Tällöin et tarvitse sudo-komentoa skriptissäsi. En oikein tiedä, miten tuo sudo siellä skriptissä toimisi muutenkaan, koska sehän kysyy salasanaa ellet sitten erikseen ole antanut lupaa suorittaa (joitakin) komentoja ilman sitä.