Cron er et verktøy for planlegging av oppgaver i Linux-operativsystemet. Det lar deg kjøre skript eller kommandoer automatisk på bestemte tidspunkter, intervaller eller hendelser.
For å bruke Cron må du opprette en crontab-fil
som inneholder en liste over oppgaver og tidsintervaller for når de skal utføres. Hver oppgave i crontab er en streng som består av fem felt atskilt med mellomrom:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
Hvis for eksempel feltet minutes inneholder en *
, vil oppgaven kjøres hvert minutt. Hvis du vil angi en bestemt verdi for et felt, for eksempel hver dag kl. 03.00, skal du skrive 0 3 * * * * * *.
Du kan opprette eller endre en crontab-fil ved å bruke kommandoen crontab -e. Hver bruker kan ha sin egen crontab-fil, i tillegg til systemfilen /etc/crontab
, som inneholder oppgaver som kjøres som rotbruker.
Det finnes en cronjob-kommando
som lar deg kjøre oppgaver inne i Docker-containere. Den fungerer på samme måte som crontab
, men oppgavene kan kjøres inne i containeren i stedet for i vertssystemet.
Følg disse trinnene for å begynne å bruke Cron i Linux:
1. Åpne en terminal og skriv inn kommandoen crontab -e
. Dette åpner crontab-filen for den aktuelle brukeren.
2. Legg til en oppgave i crontab-filen i henhold til feltformatet som er beskrevet ovenfor. Hvis du for eksempel vil kjøre skriptet every_hour.sh hver
time, legger du til linjen 0 * * * * * * * * /path/to/every_hour.sh.
3. Lagre endringene, og lukk filen.
4. Kontroller at oppgaven er lagt til i crontab ved hjelp av kommandoen crontab -l.
Den viser en liste over alle oppgaver som er lagt til i crontab
.
5. Kontroller at oppgaven kjører som planlagt ved hjelp av kommandoen tail -f /var/log/syslog
. Du vil se utdataene knyttet til oppgaveutførelsen.
6. Hvis du vil fjerne en oppgave fra crontab
, bruker du kommandoen crontab -r.
Det er noen viktige punkter du må huske på:
crontab
. Men hvis du vil kjøre et skript, må du sørge for at det har kjøretillatelser(chmod +x /path/to/script.sh).
sudo crontab -e
for å åpne crontab-filen
for root-brukeren.Vær oppmerksom på at klokkeslettet som er angitt i crontab
, skal samsvare med klokkeslettet på serveren som kjører Cron. Hvis du bruker en ekstern server, må du sørge for at klokkeslettet på serveren er riktig konfigurert.