Planlegging av jobber: `cron` og `at`
Automatiser oppgaver som skal kjøres på bestemte tidspunkter eller med bestemte intervaller ved hjelp av `cron`-jobber og `at`-kommandoer.
Planlegging av jobber: `cron` og `at` er en gratis leksjon i Bli ekspert på Linux-kommandolinjen på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bli ekspert på Linux-kommandolinjen, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bli ekspert på Linux-kommandolinjen inneholder totalt 4 leksjoner.
Automatiser Linux-oppgavene dine
I Linux trenger du ofte å kjøre oppgaver automatisk. Det kan være alt fra sikkerhetskopiering av filer til generering av rapporter.
Automatisering sparer tid og sørger for at oppgavene utføres konsekvent, selv når du ikke aktivt bruker tastaturet.
Introduksjon til `cron` for gjentakende jobber
cron er et kraftig verktøy som hjelper deg med å planlegge kommandoer eller skript slik at de kjøres automatisk med bestemte intervaller. Tenk på det som din personlige assistent for gjentakende oppgaver!
Disse planlagte oppgavene kalles ofte «cron-jobber».
Din personlige `crontab`-fil
Hver bruker har sin egen crontab-fil, som viser brukerens planlagte cron-jobber.
- For å redigere crontab-filen:
crontab -e - For å vise de nåværende jobbene:
crontab -l - For å fjerne alle jobbene dine:
crontab -r(bruk med forsiktighet!)
Når du redigerer filen, åpnes den vanligvis i et tekstredigeringsprogram som Nano eller Vim.
crontab -eForstå strukturen til en `cron`-jobb
En cron-jobboppføring består av seks deler:
minute hour day_of_month month day_of_week command_to_execute- Minutt: 0–59
- Time: 0–23 (0 er midnatt)
- Dag i måneden: 1–31
- Måned: 1–12 (eller Jan–Des)
- Ukedag: 0–7 (0 eller 7 er søndag)
En stjerne (*) betyr «alle» verdier for dette feltet.
Praktiske `cron`-eksempler
La oss se på noen vanlige eksempler på cron-jobber som du kan legge til i crontab-filen.
# Run a script every day at 3:00 AM
0 3 * * * /home/user/daily_backup.sh
# Run a command every Sunday at 10:30 PM
30 22 * * 0 echo "Weekly check!" >> /var/log/weekly.log
# Run every 15 minutes
*/15 * * * * /usr/bin/some_utilityNyttige `cron`-snarveier
For vanlige tidsplaner tilbyr cron spesielle nøkkelord:
@reboot: Kjør én gang etter systemoppstart.@hourly: Kjør én gang i timen.@daily: Kjør én gang om dagen (ved midnatt).@weekly: Kjør én gang i uken (søndag ved midnatt).@monthly: Kjør én gang i måneden (ved midnatt den første dagen).@yearly: Kjør én gang i året (ved midnatt 1. januar).
Disse nøkkelordene erstatter de fem første tidsfeltene.
Planlegg engangsoppgaver med `at`
Mens cron brukes til gjentakende oppgaver, er kommandoen at perfekt for å planlegge en kommando som skal kjøres bare én gang på et angitt tidspunkt i fremtiden.
Den er nyttig for oppgaver som ikke trenger å gjentas, for eksempel å kjøre en rapport på slutten av dagen eller utføre en bestemt oppryddingsoppgave.
Slik bruker du kommandoen `at`
For å planlegge en oppgave med at angir du tidspunktet og skriver deretter inn kommandoen eller kommandoene du vil kjøre. Trykk på Ctrl+D for å avslutte.
Slik planlegger du at en enkel melding skal vises om ett minutt:
echo "echo 'Task completed by at!'" | at now + 1 minuteAdministrer `at`-køen
Du kan administrere planlagte at-jobber:
- For å vise alle ventende
at-jobber:atq - For å fjerne en bestemt jobb:
atrm [job_number]
Hver jobb som vises av atq, har et unikt jobbnummer.
# List all pending 'at' jobs
atq
# Remove the job with ID 42
atrm 42Hurtigsjekk av `cron` og `at`
Se for deg følgende scenario:
Du må planlegge et skript med navnet /opt/cleanup.sh slik at det kjøres hver tirsdag klokken 04:45.
Hvilken crontab-oppføring oppnår dette på riktig måte?
Oppsummering: `cron` og `at`
Godt jobbet! Du har lært hvordan du automatiserer oppgaver på Linux:
cronbrukes til å planlegge gjentakende jobber ved hjelp av en `crontab`-fil og en bestemt tidssyntaks.atbrukes til å planlegge kommandoer som skal kjøres én gang på et fremtidig tidspunkt.
Disse verktøyene er avgjørende for systemadministrasjon og for å holde systemene i gang uten konstant manuell inngripen.
Lær deg Bli ekspert på Linux-kommandolinjen med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Planlegging av jobber: `cron` og `at`» gratis?
Ja – hele teksten i «Planlegging av jobber: `cron` og `at`» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bli ekspert på Linux-kommandolinjen-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bli ekspert på Linux-kommandolinjen inneholder totalt 4 leksjoner.
Hva lærer jeg i «Planlegging av jobber: `cron` og `at`»?
Automatiser oppgaver som skal kjøres på bestemte tidspunkter eller med bestemte intervaller ved hjelp av `cron`-jobber og `at`-kommandoer. Du øver på Bli ekspert på Linux-kommandolinjen med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Bli ekspert på Linux-kommandolinjen?
Ingen tidligere erfaring er nødvendig. Bli ekspert på Linux-kommandolinjen på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Planlegging av jobber: `cron` og `at`»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Bli ekspert på Linux-kommandolinjen-leksjonen?
Ja. Alle Bli ekspert på Linux-kommandolinjen-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Planlegging av jobber: `cron` og `at`
- Tjenestehåndtering: `systemctl` (systemd)
- Automatisere oppgaver med shell-funksjoner
- Sentralisert logging og rotasjon med journald og logrotate