Crontab e eksempler. Cron - starter brugerprogrammer på et bestemt tidspunkt

(Planlagte opgaver) bruges til at konfigurere udførelsen af ​​kommandoer på en tidsplan eller på et strengt angivet tidspunkt. Ved hjælp af CronTab Du kan indstille et bestemt tidspunkt, og den kommando, du angiver, vil blive udført nøjagtigt på det tidspunkt. Konfigurer CronTab det er muligt på en sådan måde, at opgaven bliver udført én gang hver måned, dag, time Og hvert minut eller f.eks. hvert 10. minut. Du kan også kombinere, for eksempel skal du udføre opgaven en gang i timen de første 2 timer, derefter ikke udføre den i de næste 2 timer.

En af bekvemmelighederne er også muligheden for at sende resultaterne af udførelse af opgaver via e-mail. For at gøre dette skal du klikke på den tilsvarende inskription og indtaste din e-mail.

Opgavemester

Første bekendtskab med Cron for os starter det med opdagelse Quest Masters. Ved hjælp af guiden kan du konfigurere udførelsestiden for scripts uden seriøs administrationsviden ved blot at vælge en specifik kombination fra rullelisterne. Du skal også indtaste stien til scriptet eller kommandoen, som vil blive udført i Cron.

Lad os se et eksempel på at køre et script skrevet på sproget PERL, som skal lanceres hvert 5. minut.

Efter at have klikket på knappen under hovedvinduet Cron En ny post vises med din første konfiguration. Antallet af sådanne poster er ubegrænset.

Nu har vi den første opgave, vi kan tænde for/slukke, lave om eller slette ved at bruge knapperne til højre ud for hver af opgaverne:

Aktiver/deaktiver opgave;
- ændre opgaven;
- slet opgaven.

Manuel opsætning af CronTab.

Der er også en manuel indstilling i sektionen, der giver dig mulighed for at konfigurere scriptets starttidspunkt på den sædvanlige måde, for dem der er bekendt med Cron.

Tids interval

Referater kan være fra 0 Før 59
Timer kan være fra kl 0 Før 23
Dagen i måneden kan være fra kl 1 Før 31
En måned måske 1 Før 12
Ugedagen kan være fra kl 0 Før 7 , hvor 0 og 7 er søndag

Kan konfigureres CronTab at udføre opgaver ikke kun på et bestemt tidspunkt
tid, men også hvert minut, hver time, daglige, ugentlig eller månedlige,
ved hjælp af en kombination */x

Eksempler

*/5 * * * * - kør kommandoen hvert femte minut
0 */3 * * * - løb hver tredje time
0 12-16 * * * - kør kommandoen hver time fra 12 til 16 (kl. 12, 13, 14, 15 og 16)
0 12,16,18 * * * - kør kommandoen hver time kl. 12, 16 og 18 timer

*/1 * * * * /usr/bin/php ~/site.ru/public_html/test.php- kører php-scriptet test.php hvert minut
0 */1 * * * /usr/bin/perl ~/site.ru/public_html/test.pl- kører perl-scriptet test.pl hver time

Hold

Du skal angive stien til scriptet fra din hjemmemappe
For eksempel: public_html/cgi-bin/script.pl
Systemet erstatter selve symbolet ~/ (denne kombination erstatter den fulde sti)
Det vil vise sig: ~/public_html/cgi-bin/script.pl
Hvis du sætter symbolet for enden af ​​stien & (ampersand), så kører scriptet i baggrunden.
Indstilling af dette symbol er valgfrit.

Jeg har hørt meget om, hvordan Linux har en praktisk cron-opgaveplanlægning. Jeg havde dog ikke behov for at bruge den, og jeg ville ikke forstå dens indstillinger ... konsollen, en masse engelske bogstaver ... det var skræmmende. Men heldigvis var min frygt forgæves - alt er simpelt ned til det grundlæggende. Artiklen vil se på, hvordan du opsætter udførelsen af ​​dine scripts på en tidsplan, og som et eksempel vil vi installere "gøgen".

Først lidt om, hvordan det generelt fungerer.

Når systemet starter, starter cron-dæmonen. Den kan styres (stop/start/check status) med kommandoen: sudo service cron (stop/start/status). Men det er sjældent nødvendigt.

Cron-dæmonen selv sover det meste af tiden og åbner øjet lidt en gang i minuttet for at se efter job på dette tidspunkt. Hvis der ikke er opgaver, så går han i dvale igen.

Jobs er placeret i filer med navne svarende til brugernavne, og selve filerne er placeret i mappen /var/spool/cron/crontabs. Mappen er beskyttet mod indblanding udefra og er kun tilgængelig for superbrugeren. Men hver bruger kan opsætte en tidsplan for deres opgaver uden at kende root-adgangskoden (superbruger).

Til opsætte cron For en almindelig bruger skal du blot skrive:

Hvis du har brug for at oprette en opgave for en anden bruger, skal du starte den med kommandoen:

sudo crontab -u bruger -e

I stedet for bruger skal du skrive den ønskede bruger, for eksempel root.
Når du først starter, vil der være et spørgsmål om editoren... Jeg kan godt lide nano. Det er enkelt og kører uden en GUI.


Syntaksen for opgaver er meget enkel. Lad os se på et eksempel fra et skærmbillede af at lancere en gøg:

0 */1 * * * /home/zegi/bin/kuku

Der er 2 hovedfelter i opgaven: 0 */1 * * * - angiver tidspunktet, hvor kommandoen vil blive udløst. Og /home/zegi/bin/kuku er stien til det script, der beskriver kommandoen/kommandoerne.

Der burde ikke være nogen problemer med adressen til scriptet (zegi er brugernavnet... glem ikke at skrive dit). Men vi skal forklare, hvordan man indstiller cron-tiden for scriptudførelse.

I alt har vi 5 inputceller, som er adskilt af et mellemrum.
1 - minutter (tal fra 0 til 59)
2 - timer (fra 0 til 23)
3 - dag i måneden (fra 1 til 31)
4 - måned i året (fra 1 til 12... februar er f.eks. 2)
5 - ugedag (fra 1 til 7. Den vestlige uge bruges, når begyndelsen er søndag, dvs. Søn-1, Man-2, Tir-3, Ons-4, Tor-5, Fre-6, Lør - 7).

Hver celle skal udfyldes. Hvis du har brug for, at kommandoen skal udføres hver måned, så indstil * i 4. felt. Det samme gælder de øvrige felter.

Lad os vende tilbage til gøgeksemplet, hvor scriptet kører hver time. For at indstille frekvensen bruges den / . Hvis du f.eks. har brug for, at opgaven skal udføres hvert 5. minut, om mandagen, skal du indstille:

Hvis du har brug for, at opgaven skal udføres hver time, skal du indstille et bestemt minut. Hvis du efterlader en stjerne (* */1 * * *), vil kronen udføres hvert minut - fordi betingelserne er opfyldt: den kontrollerede alle 5 celler, og deres værdi svarer til den aktuelle tid (minutter - det er ligegyldigt Timer - hver time, og ikke kun bestemte ).
Skråstreg skal altid være en stjerne foran. For eksempel vil det ikke fungere at tildele eksekvering hvert minut fra den 30. ved at indtaste 30/1.

Hvis det er nødvendigt, at opgaven udføres ikke cyklisk, men flere gange, skrives værdierne adskilt med kommaer.
Du skal for eksempel klare en opgave på hverdage klokken 12 og 18. Så vil det se sådan ud:

* 12,18 * * 2,3,4,5,6

Når du er færdig med at redigere opgaver, så glem ikke at gemme ændringerne (Ctrl+O > Enter), og så kan du afslutte (Ctrl+x).

Cron skulle give besked om, at en ny opgave er dukket op, og den er klar til at udføre den ved at skrive: "crontab: installerer ny crontab".

Du kan se de oprettede opgaver (måske har du ikke gjort noget for dig selv, men netværksadministratoren har konfigureret noget for dig) med kommandoen:

Og til sidst mig selv gøgeskrift, som gøger hver time:

#!/bin/bash
h=`dato +%l`
mens [ $h -gt 0 ]
gør
afspil ~/kukushka.wav
h=$[$h-1]
Færdig

Du kan downloade gøgelyden med kommandoen:

wget http://dl.dropbox.com/u/24844052/tuksik/kukushka.wav

Leg er inkluderet i sox-pakken. I ubuntu kan du installere det med kommandoen.

I Unix OS er det muligt at starte brugerprogrammer på et tidspunkt, som er angivet af brugeren. For at gøre dette bruges cron-programmet, som modtager instruktioner fra brugere og efter dem udfører eventuelle opgaver i henhold til de modtagne scripts. Vores kunder kan bruge denne funktion til at udføre periodiske opgaver.

Sådan opsætter du cron på din personlige konto (til unix-takster)

Da ikke alle PHP-programmer kan køre gennem SAPI CLI uden forudgående ændring, kan du køre dem igennem wget. For eksempel:

/usr/local/bin/wget -O /dev/null -q http://mysite.tld/cron.php?action=123

Hvis scriptet bruger funktioner kræve, omfatte, og de indeholder relative stier, skal du bruge et funktionskald i begyndelsen af ​​scriptet, der udføres chdir(), som vil indstille den aktuelle arbejdsmappe.

Sådan modtager du fejlmeddelelser fra programmer, der køres af cron

Hvis du støder på fejl, mens du udfører et program, der kører fra cron, vil du sandsynligvis gerne modtage fejlmeddelelser, så du fuldt ud kan overvåge ydeevnen af ​​periodisk kørende job. For at gøre dette skal du placere følgende linje i begyndelsen af ​​cron-scriptet:

MAILTO=adresse@domæne.ru

Sikkert, adresse@domæne.ru du skal erstatte den med en e-mailadresse i det virkelige liv, hvor meddelelser vil blive leveret. Hvis du har brug for at modtage fejlmeddelelser til flere adresser, skal du angive alle disse adresser adskilt af kommaer.

Bemærk venligst, at cron sender med post, hvad de kørende scripts output. For eksempel, hvis du skriver et script, der udskriver linjen "Hej, verden" og kører det gennem cron, vil du modtage en e-mail med linjen "Hej, verden", hver gang cron kører et sådant script.

For at undgå dette, for eksempel, når du ikke har brug for tekstoutput af scriptet, skal du tilføje tegnene

> /dev/null 2>&1

Den komplette linje for cron vil se sådan ud:

0 1 * * * /usr/local/bin/php -q $HOME/script.php > /dev/null 2>&1

Vi anbefaler at kontrollere den korrekte syntaks for scripts, som du indstiller til at køre via cron. Scripts kan indeholde en fejl, fungerer muligvis ikke det samme, når de køres via en webserver og via cron, og så videre. For at sikre, at scriptet fungerer korrekt via cron, skal du først kontrollere det med følgende kommando i unix-skallen:

/usr/local/bin/php -l script.php

Hvis der ikke er nogen fejl i scriptet, vil du se meddelelsen "Ingen syntaksfejl opdaget i script.php".

Begrænsninger

For programmer, der startes via cron, gælder de samme begrænsninger for forbrugte ressourcer som for processer, der er startet af brugeren i unix-skallen. Vi taler om begrænsninger på programmets udførelsestid, mængden af ​​tilgængelig hukommelse, begrænsninger på filstørrelse og så videre.

Cron (krone), Crontab (crontab), Jobliste- alle involveret i "site building" har hørt disse navne mere end én gang. Så hvad er Cron? Hvordan arbejder man med det? Hvorfor har du brug for Cron, og hvordan konfigureres det korrekt? Vi vil se på alle disse spørgsmål i dag.

Den første ting jeg straks vil bemærke: Cron, Crontab, Jobliste- det er det samme, lad dig ikke forvirre over de mange forskellige navne.

I enhver webmasters praksis vil der uvægerligt være behov for at køre nogle opgaver efter en tidsplan. De der. Du registrerer blot den kommando, du skal bruge for at udføre en opgave på et givet tidspunkt, og det er det. Så sker alt uden din deltagelse – automatisk, og bedst af alt, på det tidspunkt, du har brug for.

For eksempel skal du med jævne mellemrum sende meddelelser til partnere via e-mail. Eller du vil indstille automatiske hilsener eller påmindelser. Eller du har et bibliotek med websteder, og du vil have katalogscriptet til at kontrollere backlinks osv. med en bestemt frekvens. Alle disse opgaver kan nemt automatiseres ved at overlade det til Cron eller, som de også siger - Opgaveplanlægger. Og der er scripts, hvor Cron simpelthen er nødvendig for normal drift.

Næsten alle moderne hostingudbydere leverer en færdiglavet funktion Opgaveplanlægger. Hvis der ikke er en sådan funktion på Hosting, så er det bedre ikke at kontakte et sådant Hosting-firma. Cron i disse dage er ikke længere en luksus, og hvis Hosting ikke tilbyder en opgaveplanlægger i pakken af ​​tjenester, er det bedre at kigge efter et andet firma, de vil sandsynligvis ikke have andre vigtige funktioner.

Så lad os se på alle de praktiske trin til opsætning af Cron ved hjælp af eksemplet med den russiske cPane l (webstedets kontrolpanel) Hudson Hosting Company. Hvorfor præcis Hudson? Det er enkelt - min hjemmeside bor her, og jeg kan virkelig godt lide denne hosting: en komplet pakke af alle mulige tjenester til en meget rimelig pris.

Selvom indstillingen Opgaveplanlægger sker omtrent det samme overalt.

Vi går til webstedets kontrolpanel, i dette tilfælde er det cPanel (der er andre). Adgang gives til dig umiddelbart efter købet Hosting, gå ned nedenfor og find denne sektion, Yderligere værktøjer:

Vi finder i dette afsnit Jobliste og klik på den. Denne menu kaldes nogle gange Cron Panel. Her er hvordan Cron karakteriseres:

"Opgaveplanlæggeren giver dig mulighed for at køre kommandoer på et bestemt tidspunkt uden din deltagelse. Dette giver dig mulighed for at automatisere regelmæssigt tilbagevendende opgaver. Opgaveplanlæggeren er meget fleksibel og giver dig mulighed for at automatisere udførelsen af ​​de kommandoer, du ønsker at køre. F.eks. , kan du bede skemalæggeren om at slette midlertidige filer hver uge, så de ikke fylder for meget på din disk."

Der er to muligheder for behandling af Crohns at vælge imellem:

Standard og Avanceret (Unix-stil), lad os se på hver af dem.

Første mulighed. Klik på knappen Standard, vinduet for opgaveinstallation åbnes:

Som du kan se, er alt meget enkelt her. Du skal blot indstille kommandoens udførelsestid ved at angive i de relevante felter, hvornår kommandoen vil køre og på hvilket tidspunkt: minutter, Time, Dag, Måned, Dag i ugen. Og selvfølgelig skal du indtaste selve startkommandoen i feltet: Kommando til at køre.

Værdier kan skrives enten manuelt (i venstre felt) eller ved at bruge rullelisten (pilene til højre).

Lad os finde ud af, hvad vi skrev her. Og vi skrev følgende opgave: kør kommandoen til udførelse:
/usr/bin/php /home/freeman/domains/public_html/cron/new_day.php
hvert 30. minut, hver 6. time, hver dag i januar, hvis det falder på en mandag.

Når du har installeret jobbet, skal du klikke på knappen Tilføj nyt Cron-job.

Det er ikke klart, hvad du skrev? :) Lad os se på den anden mulighed, og så vil jeg forklare mere detaljeret. Vi vender tilbage til forrige side.

Anden mulighed. Klik på knappen Avanceret (Unix-stil), åbner opgaveinstallationsvinduet:

Jeg kan bedre lide denne mulighed for at sætte opgaven op for Krohn. Og selvom det hedder Advanced, er det efter min mening enklere og mere bekvemt.

Her, ligesom i det første tilfælde, skal du angive, hvornår kommandoen vil blive lanceret, vi angiver også: minutter s, Time s, Dag, Måned, Dag i ugen og selve opgaven til udførelse i marken Hold. Klik derefter på knappen Tilføj Cronjob. Opgaven er sat. Siden bliver opdateret:

Og du kan tilføje en ny opgave ved at gentage hele proceduren igen. Du kan slette en opgave ved at klikke på krydset ud for opgaven til højre.

Der er endnu en valgfri parameter, men jeg anbefaler at specificere den: denne email adresse. En rapport om udførelsen af ​​kommandoen vil blive sendt til denne adresse. Feltet er valgfrit, men det er bedre at indtaste adressen for at være opmærksom på sagen, hvis noget går galt, vil Kron informere dig om det i et brev, og kommer brevet tomt, så er alt OK!

Hvad har vi skrevet her? Kør kommandoen efter 11 minutter, hver 2. time, hver dag, hver måned, 1., 3., 5., 7. ugedag.

I valgfeltet: minutter angive det minut (eller minutter), hvor opgaven vil blive lanceret i feltet Time angiv timen (eller timerne), hvor opgaven skal udføres, samt dag(e) og måned(er), i hvert felt kan du angive både et bestemt tidspunkt og et interval.

For eksempel kan du angive ikke kun 11 minutter, men 11-15 (interval), det betyder, at opgaven kører hvert 11., 12., 13., 14., 15. minut. Eller angiv specifikke minutter, for eksempel: 11, 14, 18 - det betyder, at opgaven vil blive lanceret ved 11, 14 og 18 minutter. Du kan også bruge skiltet * (stjerne)- betegner hver . Hvis du sætter * (stjerne) i feltet Referater, så vil opgaven blive lanceret hvert minut, dvs. 60 gange i timen.

I hvert felt kan du angive både et bestemt tidspunkt og et interval og også bruge stjerner.

Optage */2 midler: hver 2. time. Alle disse registreringsvariationer gælder for alle felter ( minutter s, Time s, Dag, Måned, Dag i ugen) ved angivelse af opgaven til Kron. Du forstår, at der kan være millioner af muligheder. Kør opgaven til udførelse, selv hvert minut året rundt. Selvfølgelig opstår et sådant behov næsten aldrig, men teoretisk er der en sådan mulighed.

Og husk også på, at nogle hostingsider pålægger begrænsninger for at køre Crohn, for eksempel ikke mere end 3 - 10 gange i timen. Hvorfor? Dette skaber en ganske mærkbar belastning på serveren. For overtrædelse kan din konto blive blokeret.

Lad os nu finde ud af, hvordan feltet er udfyldt Kommando til at køre(i den første mulighed) eller Kommando (i den anden mulighed).

Opgaven er specificeret som følger.

Først og fremmest angiver du stien til PHP på din server, på min server er stien /usr/bin/php, din kan være anderledes, tjek med administratorerne på din server, efter stien til PHP sæt et mellemrum og skriv den fulde interne sti til den fil, som Cron skal køre. Lad os sige, at jeg har brug for Cron til at køre mail.php-filen, idet jeg kender den interne sti til filen, skriver jeg følgende:

public_html/cron/mail.php

de der. i rodmappen public_html er der en cron-mappe, hvor mail.php-filen er placeret, og den komplette kommando til at køre mail.php-filen vil se sådan ud:

/usr/bin/php /public_html/cron/mail.php

På forskellige hostings kan stien til PHP være anderledes og skrevet forskelligt, rodmappen på webstedets placering er heller ikke altid den samme public_html, så hvis der ikke er noget specifikt eksempel på at optage en Crohn-opgave, så er det bedre at spørge administratoren om det, og beskrive hvad du vil have til sidst. godt

MIN TIME DOM MON DOW CMD

Tabel: Crontab-felter og gyldige områder (Linux Crontab-syntaks)

1. Planlægning af opgaver for en bestemt tid

Grundlaget for at bruge cron er at udføre opgaver på et bestemt tidspunkt, som vist nedenfor. Dette vil køre et fuld backup-script den 10. juni kl. 8:30.

Bemærk venligst, at tidsfeltet bruger et 24-timers format, så kl. 08.00 er 8. kl. 20.00 er 20 timer.

30 08 10 06 * /home/udvikler/fuld backup

  • 30 – 30 minutter
  • 08-08
  • 10 – 10 dag
  • * - Hver dag i ugen

2. Planlæg opgaver, der skal udføres oftere (f.eks. to gange om dagen)

Følgende script bruger en ekstra backup to gange om dagen hver dag. Dette eksempel udfører trinvis sikkerhedskopiering kl. 11:00 og 16:00 hver dag. Kommaseparerede værdier i feltet indikerer, at kommandoen skal udføres på hvert specificeret tidspunkt.

00 11.16 * * * /home/developer/bin/incremental-backup

00 – 0. minut (start af time) 11, 16 – 11 og 16 timer * - hver dag * - hver måned * - alle ugens dage

3. Planlæg arbejdet i et bestemt tidsinterval (f.eks. kun på hverdage)

Hvis du vil have rutiner til at køre hver time med et bestemt tidsinterval, skal du bruge følgende.

Cron rutine for hver dag i arbejdstiden

Dette eksempel kontrollerer databasens status hver dag (inklusive weekender) i arbejdstiden fra kl. 9 til kl.

00 09-18 * * * /home/developer/bin/check-db-status

00 - 0. minut (begyndelsen af ​​timen) 09-18 – 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 (timer) * - hver dag * - hver måned * - hver dag i kl. uge

Cron rutine for hver arbejdsdag i arbejdstiden

Dette eksempel kontrollerer status for databasen hver hverdag (undtagen lørdag og søndag) fra kl. 9 til kl.

00 09-18 * * 1-5 /home/ramesh/bin/check-db-status

00 - 0. minut (begyndelsen af ​​timen) 09-18 – 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 (timer) * - hver dag * - hver måned 1-5 - mandag, Tirsdag, onsdag, torsdag og fredag ​​(hver uge)

4. Hvordan får man vist Crontab-poster?

Se brugerens aktuelle Crontab-filer.

For at se dine crontab-l-filer fra din unix-konto skal du gøre følgende.

Udvikler@dev-db$ crontab -l @årligt /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space

Se root crontab-indgange

Log ind som root-bruger (su - root) og kør crontab-l som vist nedenfor.

Root@dev-db# crontab -l ingen crontab for root

For at se andre brugeres filer skal du logge ind som root og bruge -u (brugernavn) -l som vist nedenfor.

Root@dev-db# crontab -u brugernavn -l @monthly /home/brugernavn/monthly-backup 00 09-18 * * * /home/brugernavn/check-db-status

5. Hvordan redigerer man crontab-indgange?

Redigering af aktuelle bruger-cron-indgange.

For at redigere poster, brug cronab -e som vist nedenfor. Som standard vil brugerens aktuelle crontab-indgange blive redigeret.

Udvikler@dev-db$ crontab -e @yearly /home/developer/centos/bin/annual-maintenance */10 * * * * /home/developer/debian/bin/check-disk-space ~ "/tmp/crontab .XXXXyjWkHw" 2L, 83C

Når du gemmer filen, gemmer den crontab og viser følgende meddelelse, der fortæller dig, at crontab er blevet ændret.

~ "crontab.XXXXyjWkHw" 2L, 83C skrevet crontab: installerer ny crontab

Redigering af root crontab-indgange

Log ind som root-bruger (su - root) og gør crontab -e som vist nedenfor.

Root@dev-db# crontab -e

Redigering af en anden brugers crontab-indgange

For at redigere en anden Linux-brugers crontab-indgang skal du logge ind som root og bruge -u (brugernavn) -e som vist nedenfor.

Root@dev-db# crontab -u brugernavn -e @monthly /home/brugernavn/fedora/bin/monthly-backup 00 09-18 * * * /home/brugernavn/ubuntu/bin/check-db-status ~ ~ ~ "/tmp/crontab.XXXXyjWkHw" 2L, 83C

6. Cron-udførelse hvert minut

Ideelt set behøver du måske ikke at planlægge et cron-løb hvert minut. Men at forstå dette eksempel vil hjælpe dig med at forstå de andre eksempler, der er beskrevet i denne artikel.

Bash * * * * * CMD

* - betyder en mulig enhed - det vil sige hvert minut af hver time hele året. Brug af * direkte vil også vise sig at være en mere nyttig funktion i de følgende eksempler.

Angivelse af */5 i minutfeltet betyder hvert 5. minut. Angivelse af 0-10/2 i minutfeltet betyder hvert 2. minut i de første 10 minutter. Denne konvention kan således bruges i alle 4 felter.

7. Kør baggrunds-Cron-opgaver hvert 10. minut

Brug følgende, hvis du vil tjekke din diskplads hvert 10. minut.

*/10 * * * * /home/ramesh/check-disk-plads

Denne opgave kører den angivne diskkontrolkommando hvert 10. minut i et år. Men du skal muligvis kun udføre kontrollen i arbejdstiden eller omvendt. Eksemplerne ovenfor viser, hvordan du gør dette.

I stedet for at angive værdierne i de 5 felter, kan vi angive dem ved hjælp af et nøgleord som vist nedenfor.

Der er særlige forhold, hvor du i stedet for 5 felter kan bruge @ efterfulgt af et nøgleord - såsom genstart, midnat, årligt, hver time.

Cron specielle søgeord og deres betydning

8. Planlæg arbejdet for det første minut af hvert år ved hjælp af @yearly

Hvis du vil have cron-jobbet til at køre i de første minutter af hvert år, kan du bruge nøgleordet @yearly som vist nedenfor. I dette tilfælde vil systemet udføre årlig vedligeholdelse ved hjælp af det årlige vedligeholdelsesscript kl. 00:00 den 1. januar hvert år.

@årligt /home/developer/red-hat/bin/annual-maintenance

9. Kør opgaver hver måned ved hjælp af nøgleordet @monthly

Det ligner @yearly ovenfor. Men kommandoen udføres månedligt. Kommandoen udfører sikkerhedskopieringen kl. 00:00 den første i hver måned.

@monthly /home/ramesh/suse/bin/tape-backup

10. Kør opgaver hver dag ved hjælp af @daily

Brug af nøgleordet @daily vil oprette en daglig logfil for at rydde loggen kl. 00:00 hver dag.

@daily /home/developer/arch-linux/bin/cleanup-logs "dagen startede"

11. Hvordan kører man Linux-kommando efter hver genstart ved hjælp af @reboot?

Brug af nøgleordet @reboot vil udføre den angivne kommando, hver gang systemet starter.

@genstartCMD

13. 12. Hvordan deaktiverer/omdirigerer man Crontabs udgående mail ved hjælp af MAIL nøgleord?

Som standard sender crontab output af opgaver til den bruger, der har installeret opgaven. Hvis du vil omdirigere dem til en anden bruger, skal du tilføje eller opdatere MAIL-variablen i crontab som vist nedenfor.

Udvikler@dev-db$ crontab -l MAIL="developer" @årligt /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space

Hvis du ønsker at forhindre mail i at blive sendt overhovedet, dvs. stoppe med at sende crontab-outputfiler, skal du tilføje eller opdatere MAIL-variablen i crontab som vist nedenfor.

13. Sådan kører du Linux Cron-job hvert sekund ved hjælp af Crontab

Du kan ikke indstille cron til at køre hvert sekund. Fordi minimumsenheden for cron-udførelse er et minut. I et normalt scenarie er der ingen grund til at køre en cron-udførelse hvert sekund.

14. Angivelse af PATH-variablen i Crontab

I alle ovenstående eksempler specificerede vi den absolutte sti til Linux-kommandoen eller shell-scriptet, der skal udføres.

For eksempel, i stedet for at angive /home/developer/tape-backup , hvis du kun ønsker at specificere tape-backup , skal du tilføje /home/developer til PATH-variablen i crontab som vist nedenfor.

Udvikler@dev-db$ crontab -l PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/developer @årlig årlig vedligeholdelse */10 * * * * check-diskplads

15. Installation af Crontab fra en Cron-fil

I stedet for direkte at redigere crontab-filen, kan du tilføje alle indgange til cron-filen. Hvis filen har disse poster, kan du dumpe eller installere dem i cron som vist nedenfor.

Bemærk: Dette vil oprette en cron-file.txt-fil i din crontab, som vil fjerne tidligere cron-indgange. Så vær forsigtig, når du indlæser cron-indgange fra cron-file.txt:

developer@dev-db$ crontab -l ingen crontab for udvikler $ cat cron-file.txt @årligt /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space developer@dev -db$ crontab cron-fil.txt udvikler@dev-db$ crontab -l @årligt /home/developer/annual-maintenance */10 * * * * /home/developer/check-disk-space