Planlegging Magic: Intro til Cron på Linux

Du er kanskje ikke klar over dette, men magien skjer i bakgrunnen av operativsystemet Linux. Uten din hjelp eller intervensjon, programmer starter og demoner kjøre. Slike ting skjer fordi Linux har en enestående planlegging system kjent som cron. Lyst til å gjøre noen magi? La oss bli kjent cron.

cron verktøyet lar brukeren å administrere planlagte oppgaver fra kommandolinjen. Når en bruker forstår hvordan cron fungerer, er det ikke vanskelig å bruke. Men for noen, kan forståelsen være en utfordring. Brukere må forstå hvordan Linux tolker og leser tid på et system. Brukere må også vite hvordan du redigerer sine crontab filer. Når en bruker har en full forståelse av disse begrepene, vil de være mestere av cron. La oss undersøke cron og hvordan å skape riktige oppføringer i en brukernes crontab fil.

Som standard en versjon av cron (det er mer enn én gjennomføring) vil bli installert på Linux-systemet, så det er ikke nødvendig å bekymre seg for installasjon verktøyet. Og som for bruken, er det to kommandoer knyttet cron:

cron: Demonen som brukes til å utføre planlagte kommandoer

crontab. Kommando for å påberope redaktøren for å håndtere en brukere cron jobber.

En brukernes crontab fil er filen som inneholder de jobbene som leses av cron. Hver bruker på et system kan ha en crontab fil (dette inkluderer root bruker) der jobber og oppgaver kan kontrolleres. Systemet i seg selv har også en crontab filen ligger i /etc /crontab, men bør ikke redigeres av brukeren. Denne filen genereres ved installasjonen av operativsystemet. Hvis /etc /crontab filen er undersøke er det avdekket at det faktisk styrer cron jobber som ligger innenfor /etc/cron.daily, /etc/cron.weekly, og /etc/cron.monthly. Men at filen ikke kommer til å være i fokus her. I stedet bruker crontab filen vil være hovedfokus, som det er den filen som brukes på planlegging av ordinære oppgavene.

Tid

Den ene aspektet av cron som felte de fleste brukere er opp Måten tid anvendes. For hver crontab oppføring et bestemt tidspunkt er erklært for når posten vil kjøre. Tiden oppføringen er i form:

 0 23 * * * 

Hver gang oppføring består av fem deler:

Minute (0-59)

Hour (0-23 der 0 er 00:00)

Dag i måneden (1-31)

Måned (1-12)

Day of the uke (0-6 der 0 er søndag)

Så en typisk oppføring vil se ut:

liten Hour Dag Måned dayOfWeek

Noen eksempler for tiden:

0 23 * * * Daglig kl 23:00

30 22 * ​​* * Daglig kl 10:30

0 23 1 * * Hver første dag i måneden kl 11 PM

0 23 * * 0 Hver søndag kl 23:00

Bruke crontab Utility

Nå som tiden er forstått, er det på tide å begynne å legge til oppføringer. For å se en brukernes crontab fil crontab kommandoen startes. Det er tre hovedalternativer for å bruke med crontab kommando:

e: Rediger crontab filen

l. List innholdet i crontab filen

. r: Fjern innholdet i crontab filen

Når kommandoen crontab -l påberopes oppføringene for brukernes crontab filen skal vises (hvis det eksisterer).. For å legge til en oppføring i en brukernes crontab fil, er kommandoen crontab -e påberopt så crontab filen vil bli åpnet i standard editor (som ed, vim.tiny, eller nano). Når crontab -e kommandoen kjøres for første gang, er standard editor satt. Å velge standard editor for crontab, velger du nummeret som tilsvarer redaktøren ønsket.

Figur 1 viser en crontab som er laget med Luckybackup backup program.

En crontab åpen, med Nano som standard editor, viser Luckybackup oppføring.

For å illustrere hvordan du legger til en ny oppføring i crontab, vil en enkel backup script brukes. Innholdet i dette skriptet kan se slik ut:

#! /bin /bash echo Backup Startet `date` > > ~ /backuplog mkdir /media /EXT_DRIVE /backups /`date +% Y% m% d` tjære -czf /media /EXT_DRIVE /backups /` date +% Y% m% d` /data.tar.gz /data ekko Backup Fullført `date` > > ~ /backuplog

Hvor EXT_DRIVE er plasseringen av en ekstern tilkoblet stasjonen der de sikkerhetskopierte dataene vil ligge.

Listen skriptet vil bli lagret i brukerens hjemmekatalog som .my_backup.sh og gitt kjørbar tillatelse med kommandoen chmod u + x ~ /.my_backup.sh. Nå, med crontab i redigeringsmodus, lage en oppføring som vil utføre skriptet hver kveld kl 23:00, legg til følgende linje:

 * 23 * * * ~ /.my_backup.sh 

Med denne oppføringen på plass, lagre og lukke editor (hvordan dette gjøres, vil avhenge av standard editor du har valgt). Når dette er gjort, så lenge det ikke er noen feil, crontab vil rapportere " crontab: installere ny crontab " å indikere posten var vellykket. Hvis det er feil, åpner crontab filen tilbake opp for å gjøre de nødvendige endringene.

Redigere crontab av en annen bruker:

Si en annen brukernes crontab må redigeres. Det er ikke nødvendig å su til at annen bruker, som crontab har opsjon innebygd for det bestemte formål. Hvis crontab er utstedt bruker -u som crontab -e -u BRUKERNAVN, crontab fil til brukeren spesifisert (der brukernavn er aktuelle brukeren) vil bli åpnet for redigering. Denne kommandoen, men kan bare gis av en bruker med administrative bruker (eller kommandoen kan utstedes bruker sudo.) Selvfølgelig, redigere andre brukeres crontab filer bør begrenses kun for administratorer.

Final Thoughts

cron system bidrar til å gjøre Linux en av de mest fleksible operativsystemer rundt. Cron hjelper ikke bare systemet beholde sine logger roteres og ren, det tillater brukerne å planlegge sine egne oppgaver, skript og arbeidsplasser. Selv om tidsaspektet av cron kan være litt vanskelig å forstå, når den blir forstått, faller resten på plass.

Hvis hele ideen om redigering cron oppføringer fra kommandolinjen virker litt mye, vil du være glad for å vite at det er GUI-verktøy for denne oppgaven. Ta en titt på et verktøy som GNOME Schedule (finnes i Legg til /fjern programvare verktøy) for et program som kan administrere cron oppgaver ved hjelp av et brukervennlig GUI. Men for de som virkelig ønsker å forstå Linux, bli kjent med cron og crontab er viktig. Anmeldelser