Hurtig navigation
- Hvad er formålet med et cron job?
- Hvordan konfigurerer du et cron-job på Linux?
- Hvor ofte kører et cron-job?
- Kan et cron-job indstilles til at køre mere end én gang i timen?
- Hvad sker der, hvis du ikke angiver et interval for dit cronjob?
- Påvirker systemtiden, hvornår mit cron-job kører?
- Jeg vil have mit script til at køre hvert minut. Hvad er det korrekte interval?
- Mit script kører ikke, hvad kan der være galt?
- Jeg får en fejl fra mit script, hvordan kan jeg finde ud af hvorfor?
- Kan jeg have mere end én kommando i mit Cron-job?12Hvordan sletter jeg et Cron-job?13Kan output fra mine kommandoer sendes til mig via e-mail?
Et cron-job er en planlagt opgave eller et script, der kører automatisk med bestemte intervaller.Hvad kan et cron-job?Et cron-job kan køre kommandoer, scripts eller programmer på en regelmæssig tidsplan.Dette kan være nyttigt til opgaver som at holde din computer kørende eller udføre administrative opgaver.Hvordan konfigurerer jeg et cron-job?Der er flere måder at konfigurere et cron-job på Linux.Du kan bruge Cronjob Manager-værktøjet, redigere din shells konfigurationsfil eller bruge kommandolinjen.Hvilken metode skal jeg bruge?Cronjob Manager-værktøjet er nemmest at bruge og giver mere fleksibilitet end at redigere din shells konfigurationsfil.Sådan konfigureres en ny Cronjob ved hjælp af Cronjob Manager: 1) Åbn Cron Job Manager ved at klikke på ikonet "Cron Jobs" i systembakken (eller ved at skrive "crontab -e"). 2) I Cron Job Manager, klik på knappen "Ny" for at oprette en ny CronJob. 3) Indtast et navn til din nye CronJob i dialogboksen New CronJob og klik på OK. 4) I det nyoprettede CronJob-vindue vil du se to faner: Generelt og Kommandoer. 5) På fanen Generelt vil du se information om din aktuelle status (kører eller kører ikke), samt muligheder for at indstille tidsgrænser og stoppe/starte dine job manuelt. 6) På fanen Kommandoer vil du se alle de kommandoer, der i øjeblikket er planlagt til at køre i denne særlige CronJob. 7) For at tilføje en ekstra kommando til denne liste skal du blot klikke på den og indtaste dens nødvendige parametre i de relevante felter i kommandovinduet, der åbnes (se nedenfor). 8) For at slette eksisterende kommandoer fra denne liste, skal du blot vælge dem og trykke på Slet-tasten (eller vælge Annuller, hvis du vil gemme dine ændringer, men ikke ønsker at tilføje nye kommandoer). 9) Klik på OK for at lukke begge vinduer og vende tilbage til hovedskærmen i Crontab, hvor dit nyoprettede job nu skal være opført under "Aktive jobs". 10) For at starte/stoppe/genstarte dette bestemte job med det samme uden at vente på, at dets planlagte tidsperiode udløber: 1) Vælg det fra listen over aktive job, og tryk på knappen Start/Stop (eller højreklik på det og vælg Start/Stop fra kontekst menu). 2) Hvis du ønsker, at netop dette job skal fortsætte med at køre, selvom det ikke er aktivt længere (f.eks. når systemet går ned om natten): 1a ) Vælg det fra listen over aktive job, og tryk på knappen Tilføj regel... -> Skift tidsplantype slip -down menu -> Marker Kør hver dag mulighed -> Tryk på knappen Anvend -> Luk regelvindue -> Gem ændringer ved at trykke på knappen OK b ) Højreklik på den valgte post i listen over aktive job igen -> Tilføj regel... c ) Skift skematype drop-down menu -> Marker Kør om natten mulighed d ) Tryk på knappen Anvend e ) Luk regelvinduet f ) Gem ændringer ved at trykke på knappen OK Hvordan stopper jeg mine nuværende kørende cron-job?For at stoppe alle aktuelt kørende crons-job:1a .Vælg Alle elementer i sektionen Running Crons på hovedskærmen Crontab->Højreklik-> Stop
1b .Vælg aktuelt job fra den kørende Crons-sektion på hovedskærmen Crontab->Højreklik-> Stop alle relaterede processer
Hvordan genstarter jeg mine nuværende stoppede cron-job?For at genstarte alle aktuelt stoppede crons-job:1a .Vælg Alle elementer i sektionen Stoppede Crons på hovedskærmen Crontab->Højreklik-> Genstart valgte processer
1b .Vælg aktuelt job fra stoppet Crons-sektion af Crontab-hovedskærmen->Højreklik-> Genstart valgte processer. Hvordan ændrer jeg min nuværende planlagte tidsperiode for mine nuværende kørende cron-job?For at ændre din nuværende planlagte tidsperiode for et eller flere aktuelt kørende cron-job:1a .
Hvad er formålet med et cron job?
Et cron-job er en planlagt opgave eller et script, der kører automatisk med bestemte intervaller.Cron-job kan bruges til at automatisere rutineopgaver, såsom at opdatere en online database, køre et program efter en tidsplan eller sende e-mail-meddelelser.Cron-job kan også bruges til at udføre specielle handlinger, når specifikke hændelser opstår, såsom lancering af et websted, når nogen logger ind på deres konto.
Hvordan konfigurerer du et cron-job på Linux?
Der er et par forskellige måder at konfigurere et cron-job på Linux.Du kan bruge crontab-kommandoen til at administrere dine job, eller du kan bruge Cron Job Manager.Du kan også bruge Linux Scheduler-værktøjet til at planlægge dine job.Endelig kan du bruge kommandolinjeværktøjet til at køre dine opgaver.
For at administrere dine opgaver med crontab-kommandoen skal du først åbne et terminalvindue og skrive:
crontab -e
Dette åbner crontab-filen i din nuværende mappe.Den første linje i denne fil kaldes "standard", og den angiver nogle grundlæggende muligheder for at bruge crontab-kommandoen.For at tilføje et nyt job skal du indtaste:
crontab -e >> mitnyjob.cron
Dette vil oprette en ny post i filen mynewjob.cron, som du kan redigere efter behov.For at køre et job skal du blot indtaste:
crontab mitnyjob.cron
Du kan også angive, hvilken ugedag dit job skal køre på ved at indtaste et valgfrit tal efter "0" (f.eks. "0 0 * *"). Du kan også angive, hvilket tidspunkt på dagen dit job skal køre ved at indtaste et valgfrit tal efter "*" (f.eks. "15 10 * *").
Hvis du vil fjerne et job fra din liste over planlagte opgaver, skal du blot indtaste:
crontab -r mitnyjob.cron
Du kan også slette individuelle poster fra din liste over planlagte opgaver ved at indtaste: ctrl-D (eller CMD-D på Macs) efterfulgt af navnet på den post, du vil slette.Hvis du kun vil fjerne én specifik opgave fra din liste, men ikke også vil have alle dens relaterede poster slettet, kan du indtaste: ctrl-X efterfulgt af navnet på den post, du vil slette uden også at slette dens relaterede poster .
Til sidst, hvis du blot har brug for at se information om en bestemt opgave, der i øjeblikket er planlagt, men som ikke kører endnu, skal du indtaste: ctrl-P efterfulgt af navnet på den opgave, du ønsker information om.
Hvor ofte kører et cron-job?
Et cron-job er en planlagt opgave, der kører automatisk med bestemte intervaller.Du kan konfigurere et cron-job til at køre én gang hver dag, én gang om ugen eller én gang hver måned.Du kan også konfigurere et cron-job til kun at køre, hvis visse betingelser er opfyldt.For eksempel vil du måske kun have dit cron-job til at køre, hvis computeren er på vekselstrøm.
Kan et cron-job indstilles til at køre mere end én gang i timen?
Ja, et cron-job kan indstilles til at køre mere end én gang i timen.For at gøre dette skal du tilføje følgende linje til din crontab-fil:
*/1 * * * * /usr/bin/php -f /var/www/html/cronjob.php
Dette vil medføre, at php-scriptet, der er placeret på /var/www/html/cronjob.php, udføres hver time.
Hvad sker der, hvis du ikke angiver et interval for dit cronjob?
Hvis du ikke angiver et interval for dit cronjob, kører det hvert minut.Hvis du vil have det til at køre oftere, kan du tilføje et tidsudtryk som "*/5", som ville køre jobbet hvert femte minut.Hvis du vil have det til at køre sjældnere, kan du tilføje et tal som "0 */5", som ville køre jobbet en gang hvert femte minut.
Påvirker systemtiden, hvornår mit cron-job kører?
Der er ikke et endegyldigt svar på dette spørgsmål.Afhængigt af konfigurationen af dit system kan tidspunktet på dagen påvirke, hvornår dit cron-job kører.For eksempel, hvis dit systemur er indstillet til UTC, vil dit cron-job køre uanset hvilken tidszone din computer er placeret i.Hvis dit systemur er indstillet til lokal tid, vil dit cron-job køre i henhold til den lokale tidszone.
For at afgøre, om systemtiden påvirker, hvornår et cron-job kører, skal du se på konfigurationen af din maskine.Nogle almindelige måder at gøre dette på er ved at bruge kommandoen date eller ved at se indholdet af /etc/rc.local . Begge disse metoder kan tilgås fra et terminalvindue ved at skrive sudo .
Hvis du vil planlægge en opgave, der altid skal køre uanset den aktuelle systemtid, kan du bruge anacron . anacron er et program, der overvåger for ændringer i filer og automatisk opdaterer visse konfigurationer baseret på disse ændringer.For mere information om anacron, se
.
Jeg vil have mit script til at køre hvert minut. Hvad er det korrekte interval?
Der er ikke noget entydigt svar på dette spørgsmål, da det interval, hvor et cron-job skal køre, vil variere afhængigt af scriptets specifikke behov.Nogle tips til at indstille et passende interval for et cron-job kan dog findes nedenfor.
Først og fremmest er det vigtigt at forstå, hvilket formål scriptet tjener, og hvilken type tidsplan det skal overholde.Hvis scriptet skal køre regelmæssigt, men har relativt lav effekt (f.eks. tjek for ny e-mail hvert femte minut), så kan et minuts interval være tilstrækkeligt.På den anden side, hvis scriptet kræver mere tid til at fuldføre sin opgave (for eksempel behandling af store datasæt), så kan et længere interval (såsom hver time) være mere passende.
En anden faktor, der bør overvejes, når du indstiller et interval for et cron-job, er hvor meget belastning systemet kan håndtere.Hvis for mange opgaver kører samtidigt, kan ydeevnen lide på grund af øget behandlingsomkostninger.Derfor er det vigtigt at teste forskellige intervaller for at finde en, der fungerer bedst til det specifikke script uden at forårsage for meget interferens eller laggy adfærd.
Til sidst skal du huske på, at ikke alle systemer er konfigureret på nøjagtig samme måde; derfor fungerer visse parametre (såsom et interval) muligvis ikke korrekt på én maskine kontra en anden.I disse tilfælde kan det være nødvendigt at prøve forskellige intervaller, indtil der er fundet noget, der virker pålideligt.
Mit script kører ikke, hvad kan der være galt?
Der kan være et par ting galt.Først skal du sikre dig, at scriptet er eksekverbart.For at gøre dette kan du bruge chmod-kommandoen til at ændre tilladelserne for filen, så den kan læses af din computers brugerkonto (normalt 755 for filer i Linux) og kan skrives af din computers gruppekonto (normalt 666 for filer i Linux) . Hvis du ikke har adgang til chmod-kommandoen, kan du prøve at bruge sudo for at give dig selv tilladelse til at ændre filen.
Hvis du stadig har problemer med at få dit script til at køre, kan der være noget galt med dets konfiguration.Du kan kontrollere dette ved at køre scriptet som root - dette giver dig mulighed for at se og redigere dets konfigurationsfil.Det mest almindelige problem ved opsætning af scripts er forkerte eller manglende stioplysninger; hvis dette er tilfældet, kan du rette det ved at tilføje passende stier til dit scripts konfigurationsfil.
Til sidst skal du sikre dig, at din computer har al den nødvendige software installeret; uden disse programmer fungerer dit script muligvis ikke korrekt.For at Cron-jobs kan køre på Linux-systemer, skal Cron f.eks. være installeret og konfigureret korrekt; uden Cron installeret eller konfigureret forkert, vil dine scripts slet ikke køre.
Linux-brugere står ofte over for problemer, mens de forsøger at konfigurere deres cron-job på grund af mangel på ordentlig viden om linux-kommandoer, der bruges til jobadministrationsformål som chmod osv., Så vi har skrevet denne guide til, hvordan du nemt og hurtigt indstiller et cron-job linux med hjælp af nogle grundlæggende kommandoer som chmod osv.. Håber denne guide vil hjælpe dig!
For at starte med at opsætte et cronjob på linux-system: 1) Åbn terminalvindue2) Skriv følgende kommando3) Indtast "chmod +x myscript"4) Gem mitscript som myscript.sh5) Udfør myscript.sh6) Dit job skulle nu startes automatisk hver dag ved midnat7) For at stoppe et kørende job: skriv "cronjob -f"8 ) For at vise aktuelt aktive cronjob: skriv "cronjob -l"9 ) For at slette aktuelt aktive cronjob: skriv "cronjob -d"10 ) Husk altid det korrekte brug af kommandoer nævnt ovenfor er meget vigtigt, når du opsætter enhver form for shell-scripting-opgave på linux-systemet, så læs venligst nedenstående vejledning omhyggeligt, før du starter en opgave relateret til shell-scripting på linux-systemet:-Åbn først terminalvinduet-Skriv følgende kommando-EnterNow gem vores skript som Mit SkriptnavnFor f.eks.:-Gem Mit Skriptnavn som test_script Når det er gemt, luk terminalvinduet Åbn nu nyt terminalvindue-Skriv følgende kommando-EnterDu skal se output svarende til Følgende skærmbillede viser output fra ovennævnte kommando When executed successfullyabovementionedcommandwill create an executablefile namedtest_scriptinsidecurrentdirectorywhereyourunningitfromnowyoucanstartusingitbyjustexecutingitwithoutany further argumentsLikebelow:(Abovecommandwillruntest_scriptonceinitsinitializationphaseandstopitsrunningimmediatelyaftercompletionofitstask.)Similarlyyoucanexecutemanydifferenttypesofcommandswithsimpleargumentslikestop(),start(),status()etc.(Pleaserememberthattheoutputofthestartingcommandswillbedisplayedinterminalwindowwhiletheoutputofthestoppingcommandswillbedisplayedinnewterminalwindow.
Jeg får en fejl fra mit script, hvordan kan jeg finde ud af hvorfor?
Der er et par måder at finde ud af, hvorfor dit script får en fejl.En måde er at bruge kommandoen "grep" til at lede efter specifikke linjer i dit script, der forårsager problemet.En anden måde er at bruge kommandoen "log" til at se, hvad der sker, når dit script kører.Endelig kan du også bruge kommandoen "tail -f" til at se outputtet af dit script, mens det kører, så du kan se, om der opstår fejl eller uventet adfærd.
Kan jeg have mere end én kommando i mit Cron-job?12Hvordan sletter jeg et Cron-job?13Kan output fra mine kommandoer sendes til mig via e-mail?
14Hvordan sikrer jeg, at mit Cron-job kører på et bestemt tidspunkt?15Hvad er nogle gode eksempler på Cron Job?16
Et cron-job er et program, der kører automatisk på bestemte tidspunkter, normalt baseret på en tidsplan, du har angivet.Du kan bruge den til at køre opgaver som at tjekke din e-mail, downloade filer eller køre programmer.
For at oprette et cron-job skal du først åbne kommandolinjegrænsefladen (CLI) på din computer.Indtast derefter følgende kommando: sudo crontab -e Dette vil åbne CRONTAB-filen i din valgte teksteditor.Øverst i denne fil vil du se linjer, der ser sådan ud: # Denne fil indeholder et eller flere job.Hver linje angiver en handling, der skal udføres af skallen, når den udføres asynkront # Formatet er:
Ja!Så længe hver kommando afsluttes uden fejl (dvs. ikke forårsager nogen skade), kan du lægge så mange kommandoer ind i dit Cron Job, som du vil!Bare sørg for, at de alle afslutter med succes, før du forlader CRONTAB.
For at slette et Cron-job, der kører i øjeblikket, skal du blot skrive sudo rm -f DIT JOBNAVN, hvor DIT JOBNAVN er navnet på det fornærmende Cron-job. Vær dog forsigtig - hvis der er nogle afventende opgaver forbundet med DIT JOBNAVN, vil de blive slettet sammen med det!Sørg dog for, at alt andet forbundet med DIT JOBNAVN er ryddet ordentligt op, før du sletter det :)
Ja!For at sende output fra specifikke kommandoer i et Cron-job som e-mail-beskeder i stedet for blot at udskrive dem på skærmen*, skal du blot inkludere et ekstra flag, når du udfører disse kommandoer: echo -n >&2 Hvor &2 repræsenterer rørtegn ( | ). Så hvis vi for eksempel ønskede, at vores e-mail-meddelelsesoutput skulle gå til /var/mail/brugernavn i stedet for kun stdout , ville vi bruge noget som dette: echo -n 'Din opgave kørte med succes!' >> /var/mail/brugernavn Bemærk * E-mail-output fungerer muligvis ikke korrekt, hvis der er installeret tredjepartssoftware på din computer, der ændrer, hvordan standard input og output fungerer (som f.eks. skærm). I sådanne tilfælde bedes du prøve at udskrive i stedet for at e-maile output fra specifikke kommandoer i en CronJob.
- Hvad er et cron job, og hvordan fungerer det?
- Hvordan opretter jeg et cron-job?
- Kan jeg have mere end én kommando i mit Cron-job?
- Hvordan sletter jeg et Cron-job?
- Kan output fra mine kommandoer sendes til mig via e-mail?