Crontab

Från Unix.se, den fria unixresursen.

Programmet crontab används för att schemalägga periodiska körningar av kommandon. Typiska s.k. cronjobb är backuper och rotering av loggfiler. Vanligtvis körs daemonen cron eller crond i bakgrunden och kollar varje minut alla crontab-filer för att se om något ska köras.

De vanligaste växlarna för crontab är:

  • -l - visar din nuvarande crontab
  • -r - tar bort din crontab
  • -e - redigerar din crontab (Vi används om du inte specifierat en annan editor med miljövariableln EDITOR eller VISUAL)

I crontab-filen anger de fem första fälten (separerade med mellanslag och/eller tab) vilka tidpunkter kommandot ska köras på. Därefter själva kommandot. Alltså:

Fält Tillåtna värden
Minut * eller 0-59
Timme * eller 0-23
Månadsdag * eller 1-31
Månad *, 1-12 eller namn (t.ex. nov, dec)
Veckodag *, 0-7 (0 och 7 är söndag) eller namn (t.ex. mon, wed)
Kommando textmassa

Varje tidsfält kan ha ett eller flera värden:

  • Använd ett komma för att göra en lista av värden: "9,12,16"
  • Använd ett bindestreck för att specifiera ett visst omfång: "3-6" (vilket motsvarar "3,4,5,6")
  • Använd en asterisk för att göra ett omfång av alla tillåtna värden: "*" i minutfältet motsvarar "1,2,3,.."
  • Vanligtvis går det också bra att använda / för "step"-värden. Exempelvis är */5 samma sak som"'0,5,10,..", dvs var 5:e minut.

Några exempel:

# Körs 05 varje morgon
0 5 * * *          /home/foo/backup.sh

# Var 15:e minut mellan 9-17 varje dag veckodag
# Output från kommandot skickas till /dev/null istället för till aktuell användare
*/15 9-17 * 1-5 *  kommando &> /dev/null

# 10:30 på varje månads första dag
30 10 1 * *        kommando

# 12:00 varje söndag i november
0 12 * dec sun     kommando

# 06:00 på julafton
0 6 24 dec *       kommando

Se man-sidan för crontab och cron på ditt system för mer information.

---

Söker man efter ett motsvarande program för Windows så finns det ett freewareprogram som heter VisualCron. Mer information på denna sida: http://www.visualcron.com

Personliga verktyg