Ero sivun ”Komentojen ajastaminen” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 584 merkkiä lisätty ,  27. lokakuuta 2007
/etc/crontab & co, lisää anacronista
(/etc/crontab & co, lisää anacronista)
Rivi 1: Rivi 1:
at-komennolla voit määrätä komentoja suoritettavaksi tietyn ajan kuluttua, vaikkapa lähettää itsellesi sähköpostia kahden päivän ja kolmen tunnin kuluttua nykyhetkestä. cron-komennolla voi suorittaa jonkin komennon tai ohjelman säännöllisin väliajoin, esimerkiksi tehdä varmuuskopiot joka torstai kello 13.00. Kummastakin komennosta on hyvä man-sivu, mutta tiettävästi suomenkielistä täydellistä esitystä komennoista ei ole.
<tt>at</tt>-komennolla voit määrätä komentoja suoritettavaksi tietyn ajan kuluttua, vaikkapa lähettää itsellesi sähköpostia kahden päivän ja kolmen tunnin kuluttua nykyhetkestä. <tt>cron</tt>-komennolla voi suorittaa jonkin komennon tai ohjelman säännöllisin väliajoin, esimerkiksi tehdä varmuuskopiot joka torstai kello 13.00. <tt>anacron</tt> hoitaa cronin ajamatta jääneet työt, kun kone laitetaan päälle. Kaikista komennoista on hyvät man-sivut, mutta tiettävästi suomenkielistä täydellistä esitystä komennoista ei ole.


== at ==
== Kerran ajettava työ: at ==


Yksinkertaisimmillaan voi testata komentoa:
Yksinkertaisimmillaan voi testata komentoa:
Rivi 47: Rivi 47:
at-työn voi poistaa komennolla atrm NN.
at-työn voi poistaa komennolla atrm NN.


== cron ==
== Säännölliset työt: cron ja anacron ==


Cronilla siis voidaan ajoittaa toistuvia tapahtumia. Komento ''cron'' itsessään on ajatuksen teknisestä toteutuksesta huolehtiva [[daemoni]], eikä tavalliselle käyttäjälle juuri tule tarvetta käyttää sitä. Ajastamiseen käytetään komentoa ''crontab'', joka käsittelee samannimistä asetustiedostoa. Tässä tuleekin huomata eräs [[man]]-komennon piirre; <tt>man crontab</tt> kertoo miten crontab-komento toimii. Sen sijaan mikäli halutaan tietoa crontab-tiedoston formaatista, täytyy manille kertoa myös mistä osastosta (section), halutaan crontab-niminen manuaalisivu, oikea komento tällöin on <tt>man 5 crontab</tt>.
Cronilla voidaan ajoittaa toistuvia tapahtumia. Komento ''cron'' itsessään on ajatuksen teknisestä toteutuksesta huolehtiva [[daemoni]], eikä sitä tarvitse käynnistää käsin.
 
Anacron huolehtii ajamatta jäneiden cron-töiden ajamisesta myöhemmin, kun tietokone on taas päällä. Sen asentaminen kannattaa, ellei kone yleensä ole päälle kaikki päivät vuorokauden ympäri. Oletusasetukset ovat yleensä riittävät, mutta erikoisemmassa käytössä (esimerkiksi jos käytössä on tärkeitä omia cron-töitä), sen olemassaolo voi olla hyvä huomioida skriptejä kirjoitettaessa. Myös viivettä koneen käynnistyksen ja töiden ajamisen välillä voi haluta säätää.
 
=== Yleiset työt ===
 
Tietokoneen toimintaan tai ylläpitoon ajettavat säännölliset työt määrätään <tt>[[Asetustiedostot|hakemistossa /etc]] olevassa tiedostossa <tt>crontab</tt>, joka kutsuu hakemistoissa <tt>cron.daily</tt>, <tt>cron.weekly</tt> ja <tt>cron.monthly</tt> olevia skriptejä. Yleensä työt pyritään ajamaan öisin, kun kone on vähäisessä käytössä, mutta jollei halua koneen alkavan raksuttaa pikkutunneilla, aikoja voi muuttaa. <tt>/etc/crontab</tt> on muuten samassa muodossa kuin käyttäjien crontab-tiedostot, mutta ajankohdan ja komennon välissä määrätään minä käyttäjänä työ tulee ajaa.
 
Omat työt tai viittaukset niihin voi lisätä joko itse <tt>crontab</tt>iin tai, jos ne on tarkoitus ajaa roottina päivittäin, viikottain tai kuukausittain, yllämainittuihin hakemistoihin. Hakemistoissa ennestään olevia tiedostoja voi käyttää mallina.
 
=== Käyttäjien työt ===
 
Käyttäjien töiden ajastamiseen käytetään komentoa ''crontab'', joka käsittelee samannimistä asetustiedostoa. Tässä tuleekin huomata eräs [[man]]-komennon piirre; <tt>man crontab</tt> kertoo miten crontab-komento toimii. Sen sijaan mikäli halutaan tietoa crontab-tiedoston formaatista, täytyy manille kertoa myös mistä osastosta (section), halutaan crontab-niminen manuaalisivu, oikea komento tällöin on <tt>man 5 crontab</tt>.


Cron ei aja komentoja - tietenkään - silloin kun tietokone ei ole käynnissä tai siinä ajetaan jotakin muuta käyttöjärjestelmää. Se ei myöskään huolehdi siitä, että tällaisen tauon aikana tapahtumaan säädetyn työt tulisivat ajetuksi sen jälkeen, kun Linux taas käynnistetään. Jos näin halutaan tapahtuvan, pitää asentaa ''anacron''.
Cron ei aja komentoja - tietenkään - silloin kun tietokone ei ole käynnissä tai siinä ajetaan jotakin muuta käyttöjärjestelmää. Se ei myöskään huolehdi siitä, että tällaisen tauon aikana tapahtumaan säädetyn työt tulisivat ajetuksi sen jälkeen, kun Linux taas käynnistetään. Jos näin halutaan tapahtuvan, pitää asentaa ''anacron''.


Crontabia säädetään komennolla <tt>crontab -e</tt>. Tällöin crontab-tiedostosi aukeaa siihen editoriin, joka on määritelty ympäristömuuttujassa EDITOR. Voit valita tämä käynnistämällä ohjelman lisämääreellä <tt>EDITOR=emacs crontab -e</tt>. Pysyvästi voit vaikuttaa tähän muuttujaan kirjoittamalla kotihakemistossasi olevaan ''.bashrc''-tiedostoon esimerkiksi rivin <tt>export EDITOR="editorisi_nimi"</tt>. Hyviä vaihtoehtoja ovat esimerkiksi ''vim'', ''emacs'' ja ''nano -w'' - jälkimmäisessä tulee asetustiedostoja ja muita vastaavia käytettäessä muistaa -w -valitsin, jottei Nano rivittämällä rikkoisi koodia.
Crontabia säädetään komennolla <tt>crontab -e</tt>. Tällöin crontab-tiedostosi aukeaa siihen editoriin, joka on määritelty ympäristömuuttujassa EDITOR. Voit valita tämän käynnistämällä ohjelman lisämääreellä <tt>EDITOR=emacs crontab -e</tt>. Pysyvästi voit vaikuttaa tähän muuttujaan kirjoittamalla kotihakemistossasi olevaan ''.bashrc''-tiedostoon esimerkiksi rivin <tt>export EDITOR="editorisi_nimi"</tt>. Hyviä vaihtoehtoja ovat esimerkiksi ''vim'', ''emacs'' ja ''nano -w'' - jälkimmäisessä tulee asetustiedostoja ja muita vastaavia käytettäessä muistaa -w -valitsin, jottei Nano rivittämällä rikkoisi koodia.


=== Ajan esitysmuoto ===
=== Ajan esitysmuoto ===
785

muokkausta

Navigointivalikko