crontab

Sådan konfigureres Cron Jobs i Linux

Sådan konfigureres Cron Jobs i Linux
Automatisering og planlægning af gentagne opgaver på desktops og servere forbedrer produktiviteten og reducerer manuel indgriben og overvågning. Talrige sådanne værktøjer er tilgængelige til Linux, og et af de mest anvendte blandt dem er "cron".

Denne artikel forklarer planlægningsopgaver og kørsel af scripts med jævne mellemrum ved hjælp af cron-job.

Hvad er Cron?

Cron er et opgaveplanlægningsprogram, der kører i baggrunden som en proces. Det kan bruges til periodisk at køre visse job, der er planlagt ved hjælp af det foruddefinerede regelsæt. Cron kommer forudinstalleret på de fleste Linux-distributioner eller er tilgængelige i arkiverne, der skal installeres manuelt.

Cron Presets

Cron på Ubuntu leveres med et sæt foruddefinerede planlæggere. Du kan kontrollere dem ved at køre kommandoen nedenfor:

$ ls / etc / cron.*

Normalt er disse mapper “/ etc / cron.hver time ”,“ / etc / cron.dagligt ”,“ / etc / cron.månedligt ”og“ / etc / cron.ugentlig".

Læg bare dine ønskede scripts i en af ​​disse mapper for at køre automatiske opgaver hver time, dagligt, månedligt eller ugentligt.

Bemærk, at cron bruger “/ bin / sh” shell som standard. Hvis du vil bruge “/ bin / bash” som skal i cron-scripts, skal du bruge “!# / bin / bash ”hashbang øverst i scriptfilen eller definer shell som“ SHELL = / bin / bash ”variabel i første linje i et planlagt bash script. Tilsidesættelse af "SHELL" -miljøvariablen fungerer også for crontab-editor, der er beskrevet nedenfor.

Ikke alle systemmiljøvariabler kan blive udsat for cron-job. Så det er generelt en god ide at manuelt definere vigtige miljøvariabler i et script planlagt af cron.

Crontab

Crontab giver dig mulighed for at definere dine egne planlagte opgaver. Du kan bruge den til at konfigurere cron-tidsplaner, der adskiller sig fra de fire standard cron-forudindstillinger, der er forklaret ovenfor.

For at indstille en planlagt opgave i crontab skal du først starte crontab-editoren ved hjælp af kommandoen nedenfor:

$ crontab -e

Nu i slutningen af ​​filen kan du tilføje en post i følgende format:

minut time dag måned hverdag / fuld / sti / til / script.sh

Hvor:

Crontab-posten nedenfor tager et skærmbillede af dit skrivebord og gemmer det i dit hjemmekatalog en gang kl. 15:13 den 2. marts plus hver tirsdag i marts kl. 15:13.

13 15 2 3 2 skrot

Brug kommandoen nedenfor for at liste alle crontab-poster:

$ crontab -l

Flere eksempler

Cron-opgaver kan bedst forklares gennem eksempler, så nedenfor er nogle eksempler, der regelmæssigt tager skærmbilleder af dit skrivebord og gemmer dem i hjemmemappen.

Udover de fem planlægningsvariabler bruger cron også nogle specielle strenge til at planlægge job. Disse strenge er:

Crontab-posten nedenfor tager skærmbillede en gang ved hver genstart:

@reboot scrot

Du kan erstatte “@reboot” med andre specielle strenge nævnt ovenfor.

Brug af en stjerne eller et jokertegn i stedet for en af ​​de fem variabler gentager job på alle nye forekomster af den variabel. Posten nedenfor tager et skærmbillede hvert minut:

* * * * * Skrot

Hver time:

0 * * * * skrot

Hver dag kl. 18:00:

0 18 * * * skrot

Hver måned den 6. kl. 18:00:

0 18 6 * * scrot

Brug “/” til at køre et script med et fast periodisk interval på 30 minutter (kører hvert 30. minut):

* / 30 * * * * skrot

Du kan bruge kommaseparerede variabler til at definere gentagelse af script med regelmæssige intervaller. Eksemplet nedenfor tager et screenshot af dit skrivebord hvert 1., 4. og 5. minut i en ny time.

1,4,5 * * * * skrot

Bekræftelse af Crontab-poster

Det kan være vanskeligt at definere crontab-poster, men det er endnu vanskeligere at fejle dem eller kontrollere, om de arbejder ved korrekte tidsstempler. En mulighed er at bruge en virtuel maskine og logge tidsstempler for et script, der kører med jævne mellemrum på et cron-job ved at inkludere noget som “dato” -kommandoen og omdirigere output til en tekstfil. En bedre løsning er dog at bruge en af ​​de mange online cron-jobtesttjenester, der er tilgængelige på internettet. Jeg anbefaler, at cron tester-webstedet er tilgængeligt her et forsøg.

Konklusion

At køre cron-job er en glimrende måde at automatisere gentagne opgaver, især på servere. Værktøjet er ekstremt kraftfuldt og tilpasses. Det er dog vigtigt at sikre sig, at din planlægningsdefinition fungerer korrekt, især hvis der er missionskritiske opgaver.

Bedste spilkonsolemulatorer til Linux
Denne artikel viser en liste over populære spilkonsolemuleringssoftware, der er tilgængelig til Linux. Emulation er et softwarekompatibilitetslag, der...
Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....