Kirjoittaja Aihe: Kuinka ajaa komento automaattisesti n.minuutin välein?  (Luettu 2610 kertaa)

spark

  • Käyttäjä
  • Viestejä: 1752
    • Profiili
Pitäisi seuraava komento ajaa kerran minuutissa.
./kfserver monitor
Kuinkas tuo helpoiten onnistuu?

Kyseessä on killing floor serverin käynnistys kaatumisen jälkeen. Tuon monitorin pitäisi se nostaa pystyyn, mutta ei jostain syystä tunnu toimivan ja vaatii manuaalisen käynnistyksen.

Mikäs olisi helpoin tapa saada koneen vaihtuva ip osoite kerran päivässä vaikkapa sähköpostiin?

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: Kuinka ajaa komento automaattisesti n.minuutin välein?
« Vastaus #1 : 11.11.14 - klo:17.43 »
Pitäisi seuraava komento ajaa kerran minuutissa.

Laittamalla suoritusrivi crontab:iin..

Päätteellä:
Koodia: [Valitse]
sudo nano /etc/crontab

Lisää rivi ennen viimeistä #.
Koodia: [Valitse]
*   *         * * * root /bin/bash -c "/polku/kfserver monitor"

Kokeile omalla vastuullasi tuon root:n sijasta tulee käyttää käyttäjätunnusta, jolla on suoritusoikeudet kfserver:n ajoon. Lisäksi kannattaa käyttää koko hakemistopolkua käskyn suoritukseen.

Mikäs olisi helpoin tapa saada koneen vaihtuva ip osoite kerran päivässä vaikkapa sähköpostiin?

Tätä en tiedä.
« Viimeksi muokattu: 11.11.14 - klo:17.47 kirjoittanut kamara »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Kuinka ajaa komento automaattisesti n.minuutin välein?
« Vastaus #2 : 11.11.14 - klo:19.05 »
Suositan crontab: in muuttamista vain näin:

Koodia: [Valitse]
crontab -e
jolloin vältetään kirjoitusvirheiden pääsyä läpi ja tuo menee käyttäjän crontabiin.   Ja kuten tuolla jo sanottiinkin kannattaa käyttää koko polkua aina kun on jotain crontabissa ajettavaa.  Tuo koskee myös jos teet jonkun skriptin jota on tarkoitus ajaa crontabilla.

Käyttäjä-crontabiin tulee vain viisi tähteä välilyönnein erotettuna ja samoin välilyönnillä erotettuna polku+komento jonka haluat ajaa.

"root" crontabinkin pystyy tekemään niin että kirjoittamasi teksti tarkastetaan ennen talletusta:

Koodia: [Valitse]
sudo crontab -e  -u root
Tuon varsinaisen system crontabin säätelyyn on harvoin tarvetta. 

Ip-osoite sähköpostiin lähtee pikku skriptillä jonka laitat crontabiin.  Pitäisi vain ensin kirjoittaa tuo, ei ole itselläni valmiina.  Onko kyseessä julkinen ip  ?  Se on hyvin helppo kysellä joltain ip-kaikukoneelta:

http://forum.ubuntu-fi.org/index.php?topic=47852.msg367305;topicseen#msg367305

Sen sijaan jos ajatus on että sinun pitää löytää jokin kone jolla mahdollisesti vaihtuu ip-osoite niin siihen minulla löytyy crontab skripti (itse asiassa täydellinen DDNS client) joka rekisteröi koneen ip-osoitteen --> dy.fi jonka jälkeen löydät sen aina nimellä. 
« Viimeksi muokattu: 11.11.14 - klo:19.43 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

spark

  • Käyttäjä
  • Viestejä: 1752
    • Profiili
Vs: Kuinka ajaa komento automaattisesti n.minuutin välein?
« Vastaus #3 : 11.11.14 - klo:20.33 »

Koodia: [Valitse]
*   *         * * * root /bin/bash -c "/polku/kfserver monitor"

Kokeile omalla vastuullasi tuon root:n sijasta tulee käyttää käyttäjätunnusta, jolla on suoritusoikeudet kfserver:n ajoon. Lisäksi kannattaa käyttää koko hakemistopolkua käskyn suoritukseen.
Mitä tuo bin/bash -c tuossa meinaa?

Laitoin tuonne rivin muotoon:

* * *** käyttäjänimi ./kfserver monitor

Suoritettava sijaitsee kotihakemiston juuressa. Vaikuttaisi yhden kaatumisen perusteella toimivan.


Ip-osoite sähköpostiin lähtee pikku skriptillä jonka laitat crontabiin.  Pitäisi vain ensin kirjoittaa tuo, ei ole itselläni valmiina.  Onko kyseessä julkinen ip  ?  Se on hyvin helppo kysellä joltain ip-kaikukoneelta:

http://forum.ubuntu-fi.org/index.php?topic=47852.msg367305;topicseen#msg367305

Sen sijaan jos ajatus on että sinun pitää löytää jokin kone jolla mahdollisesti vaihtuu ip-osoite niin siihen minulla löytyy crontab skripti (itse asiassa täydellinen DDNS client) joka rekisteröi koneen ip-osoitteen --> dy.fi jonka jälkeen löydät sen aina nimellä.

Serveri sijaitsee paikassa, jossa sen suora julkinen IP voi vaihtua, joten jollain konstilla olisi hyvä saada se selville. Onnistuisiko sen selvittäminen näppärästi jollain P2P ohjelmalla?

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: Kuinka ajaa komento automaattisesti n.minuutin välein?
« Vastaus #4 : 11.11.14 - klo:21.28 »

Koodia: [Valitse]
*   *         * * * root /bin/bash -c "/polku/kfserver monitor"

Kokeile omalla vastuullasi tuon root:n sijasta tulee käyttää käyttäjätunnusta, jolla on suoritusoikeudet kfserver:n ajoon. Lisäksi kannattaa käyttää koko hakemistopolkua käskyn suoritukseen.
Mitä tuo bin/bash -c tuossa meinaa?

Sitä että käytetään bash-shelliä -c tarkoittaa, että suoritetaan parametrina annetut komennot.

Kyllähän toi crontab käyttää oletuksenakin jotain shelliä, mutta itse käytän tuota bash-shelliä.

Taitaa oletuksena käyttää sh-shelliä, joka ainakin itselläni siinä on symbolinen linkki dash-shelliin.

Laitoin tuonne rivin muotoon:

* * *** käyttäjänimi ./kfserver monitor

Suoritettava sijaitsee kotihakemiston juuressa. Vaikuttaisi yhden kaatumisen perusteella toimivan.

Varmuuden vuoksi suosittelen laittamaan koko polun, jossa ohjelma sijaitsee.