Komentojen ajastaminen

Linux.fista
Versio hetkellä 15. heinäkuuta 2005 kello 16.16 – tehnyt 153.1.63.244 (keskustelu)
Siirry navigaatioon Siirry hakuun

at-komennolla voit määrätä komentoja suoritettavaksi tiettyyn aikaan, 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.


at: kertaluontoinen tehtävä

Yksinkertaisimmillaan voi testata komentoa

at now + 2 min

tuloksena saat komentokehotteen 'at>'. Voit kirjoittaa siihen vaikkapa komennon "cal > kuukausi.txt" (ilman lainausmerkkejä). Paina enter ja sitten Ctrl+D niin pääset takaisin komentotulkkiin. Nyt voit tarkistaa että tiedostoa kuukausi.txt ei vielä ole. Komennolla atq näet että työsi on odottamassa. Parin minuutin kuluttua tiedoston kuukausi.txt pitäisi ilmestyä.

Saman asian kuin edellä voit tehdä putkea hyödyntäen:

echo 'cal > kuukausi.txt' | at now + 2 min

Jos käytät konetta joka voi lähettää sähköpostia, voit jo hyödyntää edelläolevaa. Esimerkki:

echo "mail -s 'Lopeta koodaus! Mene nukkumaan!' oma@osoite.example" | at now + 3 hour

Yleensä at-komennolle annetaan absoluuttinen aika eikä aikaa suhteessa nykyhetkeen. Esimerkki:

echo 'mail -s "Osta vaimolle kukkia" oma@osoite.example' | at 15:00 2006-03-23

Em. komento siis lähettää sähköpostia 23.3.2006 kello 15. Joskus voi yhdistää absoluuttisen kellonajan ja suhteellisen päivän. Muistutusmeili ylihuomenna tulevasta TV-ohjelmasta lähtee näin:

echo 'mail -s "Kauniit ja rohkeat alkaa" oma@osoite.example' | at 17:00 + 2 day

Hahmotelmaa sisällöstä

  • ympäristömuuttujat
  • cron vs. anacron
  • käyttö roottina vs. userina
  • batch
  • tyypilliset cron-ylläpitoajot
  • /etc/at.deny ym. tiedostot