Sådan udføres crontab ved systemstart

Sadan Udfores Crontab Ved Systemstart



Leder du efter en løsning til at køre crontab hver gang din server eller dit system genstarter? Dette er muligt ved at bruge @reboot-indstillingen. Standardmåden til at køre cron-job er at angive deres dato og klokkeslæt, efterfulgt af stien til den kommando, der skal udføres. Det samme koncept bliver brugt, når man definerer en kommando, der skal udføres, når serveren genstarter. Den eneste forskel er, at vi i dette tilfælde ikke angiver dato og klokkeslæt. I stedet bruger vi @genstart efterfulgt af stien til kommandoen. Lad os se, hvordan det virker.

Sådan planlægges crontab til udførelse ved systemstart

Linux- og Unix-systemer leveres forudinstalleret med cron utility, en jobplanlægger, der gør det nemt at planlægge job på crontab-filen. Det samme værktøj er tilgængeligt til macOS. Syntaksen for planlægning af job med givne intervaller er angivet nedenfor:

Min. time Dag-i-måned Måned Dag-i-uge [ kommando ]







For eksempel kan du bruge følgende kommando, hvis du skal køre et backupscript hvert 20. minut fra kl. 15.00. til 16:00. daglige.



*/ tyve femten - 16 * * * / sti / til / backup.sh



Den forrige kommando virker, når du skal udføre et job på et bestemt tidspunkt, men hvad hvis du har brug for den samme kommando til at køre efter hver opstart?





For at indstille den samme kommando til at køre, når systemet genstarter, skal du erstatte dato- og tidsfelterne med @reboot. Den nye kommando ville være:

@ genstart / sti / til / backup.sh



I den forrige kommando er @genstart specificerer, at cron skal udføre den angivne kommando efter hver opstart. Igen skal vi tilføje kommandoen til crontab-filen.

Brug følgende kommando til at åbne crontab-filen og redigere den for at tilføje vores nye job.

crontab -og

Bemærk, at vi opretter jobbet for den aktuelle bruger. Hvis du har brug for at planlægge opgaven for en anden bruger, for eksempel en bruger ved navn linuxhint1 , vil følgende kommando være:

crontab -og -i linuxhint1

Når crontab-filen åbnes, skal du tilføje kommandoen på nederste linje. Gem filen og afslut.

Bemærk også, at vi bruger en nano editor, kan din editor være anderledes, men kommandoen er den samme.

Hvis jobbet er planlagt, bør du få en meddelelse som den, der er vist på følgende billede, for at indikere en vellykket installation af den nye crontab:

Alligevel kan du bruge følgende kommando til at liste de planlagte job.

crontab -l

Hvis du ikke længere ønsker at udføre kommandoen ved opstart, kan du fjerne den ved at redigere crontab-filen eller bruge kommandoen nedenfor. Bemærk, at følgende kommando sletter alle planlagte job. Hvis det ikke er det, du ønsker at opnå, skal du rulle ned på cron-fanen og manuelt slette jobbet ved hjælp af en editor.

crontab -r

@reboot udfører en kommando umiddelbart efter opstartstid. Du kan dog angive en dvaleperiode, før kommandoen kører. For eksempel, hvis du har brug for kommandoen til at udføre 10 minutter efter opstart, skal du indstille tiden i sekunder.

Kommandoen ville være.

@ genstart søvn 600 / sti / til / backup.sh

600 repræsenterer de 10 minutter udtrykt i sekunder, og søvn er muligheden for at bruge, når du angiver tidspunktet før udførelse.

Vores nye crontab-fil ville blive indstillet, som vist nedenfor:

Næste gang du genstarter din server, udføres backupscriptet eller set-kommandoen efter 10 minutter.

Til sidst kan vi bekræfte, at det planlagte job vil køre ved at kontrollere status for crond service . Det bør være aktiv . Brug følgende kommando til at kontrollere dens status:

sudo systemctl status cron.service

Du er god til at gå, hvis du får et output som følgende output:

Hvis status for crond ikke er aktiv, kan du aktivere den ved hjælp af følgende kommando og derefter kontrollere status:

sudo systemctl aktivere cron.service

Det er det. Din kommando udføres ved opstart.

Konklusion

At vide, hvordan man planlægger job ved opstart er afgørende for Linux-administratorer. Heldigvis dækkede denne vejledning en omfattende praktisk vejledning om, hvordan man gør det ved hjælp af Linux cron-værktøjet. Derudover diskuterede vi, hvordan du kunne indstille en dvaletid, før kommandoen udføres.