Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: HannuTapio - 15.02.18 - klo:14.11

Otsikko: Ubuntu 16.04 Server edition : "crontab -e" ja siellä käskynä- sh /root/launch.sh
Kirjoitti: 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

--
Otsikko: Vs: Ubuntu 16.04 Server edition : "crontab -e" ja siellä käskynä- sh /root/launch.sh
Kirjoitti: kamara - 15.02.18 - klo:14.14
Tarvitseeko scriptisi juuri-käyttäjän oikeudet ?
Otsikko: Vs: Ubuntu 16.04 Server edition : "crontab -e" ja siellä käskynä- sh /root/launch.sh
Kirjoitti: HannuTapio - 15.02.18 - klo:14.27
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.
Otsikko: Vs: Ubuntu 16.04 Server edition : "crontab -e" ja siellä käskynä- sh /root/launch.sh
Kirjoitti: HannuTapio - 15.02.18 - klo:14.41
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 ???

:)

--
Otsikko: Vs: Ubuntu 16.04 Server edition : "crontab -e" ja siellä käskynä- sh /root/launch.sh
Kirjoitti: Tomin - 15.02.18 - klo:16.07
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:
Koodia: [Valitse]
sudo crontab -eTä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ä.