Med crontab kan du execute shell scripts eller Linux kommandoer på et specifik tidspunkt.For eksempel kan du tage backup, ændre rettigheder eller andre kører andre custom made scripts, hver time, hver dag eller 1 gang om måneden.
Start crontab
crontab -e
Din crontab skulle gerne åbne i en text editor og du kan starte med at smide linjer i bunden af den.Crontab er bygget op på følgende måde.
(Minuter) (Timer) (Dag-på-måneden) (måned) (Dag-på-ugen) kommando
- Minuter 0-59
- Timer 0-23
- Dag på måneden 0-31
- Måned 1-12
- Dag på ugen 1-7
Special Tegn
- Stjerne (*) – Wildcard, betyder at alle min., timer, dage osv. bliver brugt.
- Skråstreg (/) – Gentage efter X antal enheder. Fx. */5 * * * * er hver 5. time
- Komma (,) – Separerer enhederne. Fx. * * * * 1,3,5 er her mandag, onsdag og fredag.
- Bindestreg (-) – Tager alle enheder mellem “-“. Fx. * * * * 1-5 er hver mandag til fredag.
- Last (L) – I Dag-på-ugen, kan du definere “Last friday”, i én eller flere måneder. * * * * 5L
Der er flere special tegn som jeg ikke vil nævne her.
Eksempler
Kl. 12.05 om natten.
5 0 * * * /sti/til/script
Kl. 14.45 mandag til fredag.
45 14 * * 1-5 /sti/til/script
Kl. 23.30 mandag, onsdag og fredag.
30 23 * * 1,3,5 /sti/til/script
Kl. 13.00 d. 1 i hver måned.
0 13 1 * * /sti/til/script
Kl. 13.00 d. 1 i hver måned.
0 13 1 * * /sti/til/script
Hver 5. minut.
*/5 * * * * /sti/til/script
Hver 5. time.
* */5 * * * /sti/til/script
Hver 5. time, mandag til fredag.
* */5 * * 1-5 /sti/til/script
Sidste fredag i måneden.
* * * * 5L /sti/til/script
/sti/til/script kan selvfølgelig erstattes med en Linux kommando. Som Fx.
* */5 * * 1-5 rm /home/user/dir/*
Alle brugere har deres egen crontab. Bemærk at scripts eller kommandoer altid bliver kørt med brugeres rettigheder.Hvis hvis det er til et job der kræver root rettigheder kan du gøre det med root brugeren.
Prædiefineret tidspunkter
Der er også et sæt prædefineret tidspunkter.
- @yearly – Bliver kørt én gang om året. (1. Januar, midnat)
- @monthly – Bliver kørt d. 1. hver måned.
- @weekly – Bliver kørt midnat hver søndag.
- @daily – Bliver kørt midnat hver dag.
- @hourly – Bliver kørt i starten af hver time.
- @reboot – Bliver kørt ved hver reboot.
@reboot /sti/til/script
For flere detaljer omkring Crontab se http://en.wikipedia.org/wiki/Cron