crontab

Kā ieplānot uzdevumu Linux?

Kā ieplānot uzdevumu Linux?
Ikreiz, kad tiek izmantota operētājsistēma, kuras pamatā ir UNIX, noteikti uzdevumi jāveic atkārtoti. Manuāla palaišana katru reizi ir laikietilpīga un kopumā neefektīva. Lai atrisinātu šo problēmu, UNIX nāk ar iebūvētiem uzdevumu plānotājiem. Šie uzdevumu plānotāji darbojas kā gudrs modinātājs. Kad trauksme izslēdzas, operētājsistēma izpildīs iepriekš noteikto uzdevumu.

Linux gadījumā tam ir divi pamata, bet spēcīgi rīki: Cron dēmons (noklusējuma uzdevumu plānotājs) un at (vairāk piemērots vienreizējai uzdevumu plānošanai).

Šajā rokasgrāmatā pārbaudiet, kā plānot uzdevumu Linux.

Plānojiet uzdevumus Linux

Krons
Cron dēmons ir atbildīgs par daudzu darbu vadīšanu noteiktā laikā. Šie uzdevumi parasti tiek veikti fonā paredzētajā laikā. Tas piedāvā lielu elastību neatkarīgi no uzdevuma neatkarīgi no intervāla (stunda, nedēļa, mēnesis, gads vai kāds cits).

Cron seko savām darbībām, izmantojot crontab failu. Crontab fails ir skripts, kas satur visu nepieciešamo informāciju, lai palaistu visus cron darbus.

Apskatīsim dažus galvenos cron lietojumus. Jebkuras no šīm komandām gadījumā tā tiks konfigurēta root lietotājam, ja tā tiek palaista ar sudo privilēģiju. Demonstrācijai es šeit paņēmu crontab faila paraugu.

Lai uzskaitītu visus pašreizējam lietotājam ieplānotos cron darbus, izpildiet šo komandu. Tas izdrukās visu crontab faila saturu.

$ crontab -l


Vēlaties cron darbu sarakstu citam lietotājam? Tā vietā izpildiet šo komandu.

$ sudo crontab -u -l


Lai rediģētu crontab skriptu, palaidiet komandu. Lai rediģētu saknes crontab failu, palaidiet šo komandu ar sudo privilēģiju.

$ crontab -e


Katra crontab skripta rindiņa nosaka uzdevumu. Šeit ir īss crontab ierakstu sadalījums.

$

Šeit ir visu šo lauku visu iespējamo vērtību saraksts. Ja ciparu vērtības vietā tiek lietota zvaigznīte (*), tiks izmantota katra iespējamā lauka vērtība.

  • minūte: no 0 līdz 59
  • stundas: no 0 līdz 23
  • mēneša diena: no 1 līdz 31
  • mēnesis: no 1 līdz 12
  • nedēļas diena: no 0 (svētdiena) līdz 6 (sestdiena)

Lai iegūtu padziļinātu rokasgrāmatu par to, kā izmantot crontab uzdevumu automatizēšanai, pārbaudiet, kā iestatīt cron darbus Linux. Lūk, vēl viens ātrs piemērs tam, kā katru minūti darbojas kāds darbiņš.

plkst
Lai gan cron ir galvenais uzdevumu plānošanas veids, piedāvājot iespēju palaist komandu / skriptu noteiktā laikā vai noteiktā intervālā, ņemiet vērā, ka at tiks izpildīts mērķa darbs vienreiz, savukārt cron atkārtoti palaidīs darbu ar intervālu. Rīks at ir mazāk populārs, salīdzinot ar cron, taču to ir salīdzinoši vieglāk izmantot. Varat izmantot noteiktus atslēgvārdus, piemēram, pusnakts vai teātra laiks (4 lpp.M.).

Šis rīks nav iepriekš instalēts lielākajā daļā Linux distros. Lai instalētu vietnē, izpildiet atbilstošo komandu atbilstoši savam izplatītājam.

Debian / Ubuntu un atvasinājumiem.

$ Sudo apt install -y plkst


CentOS / RHEL un atvasinājumiem.

$ yum instalēt plkst

Arch Linux un atvasinājumiem.

$ sudo Pacman -S plkst

Fedorai un atvasinājumiem.

$ sudo dnf instalēt

Kad instalēšana ir pabeigta, iespējojiet dēmonu at.

$ sudo systemctl iespējot - tagad atd.apkalpošana


Darbu veids ir nedaudz atšķirīgs. Vienmēr zvanot uz numuru, jums jānosaka vēlamā uzdevuma izpildes intervāls. Piemēram, lai palaistu noteiktu komandu pēc stundas, izmantojiet šādu komandu.

$ šobrīd + 1 stunda


Lai palaistu vēlamo uzdevumu pie 6 P.M., pēc sešām dienām izpildiet šo komandu.

$ 18:00 + 6 dienas


Palaižot komandu, vietnē tiks lūgts izpildīt komandu (-as). Lai izietu no uzvednes, nospiediet “Ctrl + d.”Tagad tiks parādīts ieplānoto uzdevumu kopsavilkums un to izpildes laiks.

Tas ir tikai pamata lietojums. Konsekventāks izmantošanas veids vietnē varētu būt bash skripta izpilde, kurā būtu visi veicamie uzdevumi. Interesē uzzināt vairāk par bash skriptiem? Pārbaudiet

$ 18:00 + 6 dienas -ff