crontab

Cron Jobs apmācība iesācējiem

Cron Jobs apmācība iesācējiem
Cron ir visnoderīgākā lietderība Linux vai UNIX līdzīgā operētājsistēmā, kas ļauj komandām vai skriptiem darboties noteiktā grafikā bez lietotāja iejaukšanās. Plānotās komandas un skripti tiek nosaukti arī kā cron darbi. To galvenokārt izmanto atkārtotu darbu automatizēšanai, piemēram, plānoto dublējumu palaišanai, pagaidu failu tīrīšanai, sistēmas apkopei un dažādiem citiem atkārtotiem darbiem. Tas ir līdzīgs uzdevumu plānotājam Windows OS.

Šajā apmācībā mēs sniegsim jums pamata ievadu visam, kas jums jāsaprot, plānojot darbu ar cron. Tas ietver cron pamata sintaksi, crontab faila rediģēšanu, darba plānošanu ar cron ar dažiem piemēriem, cron darba skatīšanu utt.

Krona darba pamati

Sapratīsim dažus cron darba pamatus.

Kas ir Crond?

Crond ir dēmons Linux sistēmā, kas darbojas fonā un katru minūti pārbauda, ​​vai tajā laikā nav ieplānots kāds darbs. Ja ir, tas veic šo darbu, pretējā gadījumā tas paliek neaktīvs.

Cron Job sintakse

Cron darba sintakse ir šāda:

* * * * * komanda / skripts

No kreisās puses:

Lai laukā norādītu vairākas vērtības, izmantojiet šādus operatora simbolus:

  1. Zvaigznīte (*): Lai norādītu visas iespējamās lauka vērtības
  2. Domuzīme (-): Uz skonkretizēt vērtību diapazonu
  3. Komats (,): Lai norādītu vērtību sarakstu
  4. Atdalītājs (/): Lai norādītu pakāpiena vērtību

Rediģēt Crontab failu

Crontab ir fails, kas satur ieplānotos darbus noteiktā sintaksē. Ir divu veidu crontab faili; viens paredzēts sistēmai specifiskiem cron darbiem un otrs lietotājiem specifiskiem cron darbiem.

System cron darbavietas

Visā sistēmā esošie cron darbi atrodas / etc / crontab failu un / etc / cron.d direktorijā, un tie tiek izlaisti / etc / cron.katru stundu, / etc / cron.katru dienu, / etc / cron.iknedēļas un / etc / cron.katru mēnesi. Šiem failiem var piekļūt tikai sistēmas administrators.

Sistēmas administrators var definēt cron darbu, izmantojot šādu komandu:

$ nano / etc / crontab

Šeit ir darba sintakse / etc / crontab fails:

# min hr mēneša mēnesis dayofweek lietotājvārda komanda
* * * * * lietotājs1 ifconfig

Lietotājam specifiski cron darbi

Lietotāja specifiskie cron darbi atrodas /var / spole / cron / crontabs direktorijā. Lai gan šos darbus var rediģēt manuāli, ieteicams tos rediģēt, izmantojot komandu crontab -e.

Standarta lietotājs var definēt cron darbu, izmantojot šādu komandu:

$ crontab -e

Piemēram, ja esat pieteicies kā “testa” lietotājs, palaižot komandu crontab -e, tiks rediģēts “testa” lietotāja crontab fails. Līdzīgi, ja esat pieteicies kā root lietotājs, komanda crontab -e rediģēs root lietotāja crontab failu.

Izdodiet šādu komandu Terminal, lai rediģētu crontab failu jebkuram citam lietotājam:

$ sudo crontab -u -e

Piemēram, ja esat pieteicies kā “test1” lietotājs un vēlaties rediģēt “test2” lietotāja crontab failu, komanda būtu šāda:

$ sudo crontab -u test2 -e

Šeit ir cron darba sintakse, ko var pievienot crontab failā:

# m h diena mēnesī mēnesī komandai
* * * * * ifconfig

Lietotājam paredzētajos darbos var redzēt, ka nav iesniegts “lietotājvārds”.

Crontab komandas

Crontab komandu izmanto, lai rediģētu, uzskaitītu un noņemtu cron darbus:

  • crontab -e Lai rediģētu pašreizējā lietotāja crontab failu
  • crontab -l Lai parādītu crontab faila saturu
  • crontab -u [lietotājvārds] Lai rediģētu jebkura cita lietotāja crontab failu
  • crontab -r Lai noņemtu pašreizējā lietotāja crontab failu
  • crontab -i Lai parādītu uzvedni pirms pašreizējā lietotāja crontab faila noņemšanas

Darba plānošana pie Krona

Izmantojot Cron, jūs varat palaist darbu noteiktā laikā, datumā un intervālos ar minimālo vienību minūtēs, t.i.e., jūs varat vadīt darbu katru minūti.

Lai ieplānotu darbu ar cron, atveriet crontab failu, izmantojot iepriekšējā sadaļā aprakstīto metodi. Kad esat atvēris crontab failu, jums tiks piedāvāts izvēlēties teksta redaktoru. Ievadiet numuru, lai izvēlētos vēlamo teksta redaktoru. Ritiniet uz leju līdz faila apakšai un pievienojiet darbus iepriekš aprakstītajā sintaksē. Katra faila rinda norāda vienu komandu. Pirmie pieci rindas ieraksti norāda ieplānoto laiku, bet pēdējais ieraksts norāda, kura komanda vai skripts jāizpilda.

Piemērs:

Nākamā crontab faila rinda ieplānos cron darbu komandas / skripta izpildei ik pēc 30 minūtēm pēdējās 5 stundās katru nedēļas dienu no pirmdienas līdz sestdienai.

* / 30 5 * * 1-6 komanda / skripts

Protokols

Šajā laukā mēs norādām minūtes, kad mēs vēlamies izpildīt komandu. Tas ir norādīts no 0 līdz 59. * Šajā laukā nozīmē palaist darbu katru minūti. Iepriekš redzamajā crontab rindā * / 30 liek cron darbam palaist norādīto komandu / skriptu ik pēc 30 minūtēm.

Stundas

Šajā laukā mēs norādām stundas, kad mēs vēlamies izpildīt komandu. Tas ir norādīts no 0 līdz 23. * Šajā laukā nozīmē palaist darbu katru stundu. Iepriekšējā crontab rindā vērtība 5 liek cron darbam palaist norādīto komandu / skriptu ik pēc piecām stundām.

Mēneša diena

Šajā laukā mēs norādām konkrētas mēnešu dienas, kad mēs vēlamies izpildīt komandu. Tas ir norādīts no 1 līdz 31. * * Šajā laukā nozīmē katru dienu. Iepriekš redzamajā crontab rindā * stāsta cron darbam katru dienu palaist norādīto komandu / skriptu.

Gada mēnesis

Šajā laukā mēs norādām konkrētus mēnešus, kad mēs vēlamies izpildīt komandu. Tas ir norādīts no 1 līdz 12. * * Šajā laukā nozīmē katru mēnesi. Iepriekš redzamajā crontab rindā * stāsta cron darbam katru mēnesi palaist norādīto komandu / skriptu.

Nedēļas diena

Šajā laukā mēs norādām konkrētās nedēļas dienas, kad mēs vēlamies izpildīt komandu. Tas ir norādīts no 0 līdz 6 no svētdienas līdz sestdienai (0 svētdienai un 6 sestdienai). * * Šajā laukā nozīmē katru dienu nedēļā. Iepriekšminētajā crontab rindā * liek cron darbam katru nedēļu palaist norādīto komandu / skriptu.

Krona darba piemēri

Šeit ir daži cron darbu piemēri:

Palaidiet cron darbu ik pēc 15 minūtēm

Lai ieplānotu cron darba izpildi ik pēc 15 minūtēm, crontab failā pievienojiet zemāk redzamo rindu:

* / 15 * * * * komanda / skripts

Palaidiet cron darbu katru dienu pulksten 5 no rīta

Lai ieplānotu cron darba izpildi katru dienu pulksten 5:00, crontab failā pievienojiet zemāk redzamo rindu:

0 5 * * * komanda / skripts

Palaidiet cron darbu katru dienu pulksten 17:00

Lai ieplānotu cron darba izpildi katru dienu pulksten 17:00, crontab failā pievienojiet zemāk redzamo rindu:

0 17 * * * komanda / skripts

Katra mēneša pirmajā dienā plkst. 9:00 veiciet cron darbu

Lai ieplānotu cron darba izpildi katra mēneša pirmajā dienā plkst. 9:00, crontab failā pievienojiet zemāk redzamo rindu:

0 9 1 * * komanda / skripts

Katru stundu katru 15. martu veiciet cron darbu

Lai ieplānotu cron darbu katru stundu katru 15. martu, crontab failā pievienojiet zemāk redzamo rindu:

0 * 15 3 * komanda / skripts

Palaidiet cron darbu ik pēc 5 stundām

Lai ieplānotu cron darbu ik pēc 5 stundām, crontab failā pievienojiet zemāk redzamo rindu:

0 * / 5 * * * komanda / skripts

Palaidiet cron darbu ik pēc 15 minūtēm

Lai ieplānotu cron darba palaišanu ik pēc 15 minūtēm, crontab failā pievienojiet zemāk redzamo rindu:

* / 15 * * * *

Stīgu izmantošana

Darba definēšanai var izmantot arī šādas virknes:

  1. @hourly: Lai veiktu darbu reizi stundā, t.e., “0 * * * *
  2. @ pusnakts: Lai veiktu darbu vienu reizi dienā, t.e., “0 0 * * *
  3. @ katru dienu: tas pats, kas pusnakts
  4. @iknedēļas: Lai veiktu darbu reizi nedēļā, t.e., “0 0 * * 0
  5. @ mēnesi: Lai veiktu darbu reizi mēnesī, t.e., “0 0 1 * *
  6. @ katru gadu: Lai veiktu darbu reizi gadā, t.e., “0 0 1 1 *
  7. @gadīgi: tāds pats kā @ katru gadu
  8. @reboot: Veikt darbu vienu reizi katrā startēšanas reizē

Piemēram, lai katru nedēļu palaistu skriptu vai komandu, crontab failā būtu ieraksts:

@ katru nedēļu komanda / skripts

Iepriekš definēti Cron direktoriji

Linux ir daži iepriekš definēti cron direktoriji, kur saglabātie skripti tiek automātiski izpildīti. Ja zem šiem direktorijiem ievietosim kādu skriptu, tas tiks automātiski izpildīts konfigurētajā laikā.

  • / etc / cron.katru dienu
  • / etc / cron.katru stundu
  • / etc / cron.katru mēnesi
  • / etc / cron.iknedēļas

Piemēram, lai skriptu izpildītu reizi mēnesī, tas būs jāievieto mapē / etc / cron.katru mēnesi.

Skatīt Cron Jobs

Skatīt pašreizējā lietotāja darbus

Izmantojiet šo komandu, lai apskatītu visus ieplānotos cron darbus pašreizējam lietotājam:

$ crontab -l

Skatīt root lietotāju darbus

Lai skatītu visus saknes lietotāja ieplānotos darbus, terminālā izsniedziet šādu komandu:

$ cat / etc / crontab

Jums būs jāpiesakās kā root lietotājam vai jāizpilda komanda kā sudo.

Skatīt citu lietotāju darbus

Lai skatītu visus konkrētā lietotāja ieplānotos darbus, Terminalā izsniedziet šādu komandu, aizstājot ar faktisko lietotāja vārdu:

$ sudo crontab -u -l

Lai palaistu šo komandu, jums būs nepieciešamas sudo privilēģijas.

Skatiet stundas cron darbus

Lai skatītu visus cron darbus, kas ir konfigurēti tā, lai tie darbotos katru stundu, terminālā izsniedziet šādu komandu:

$ ls -la / etc / cron.katru stundu

Skatīt ikdienas cron darbus

Lai skatītu visus cron darbus, kas ir konfigurēti darboties katru dienu, terminālā izsniedziet šādu komandu:

$ ls -la / etc / cron.katru dienu /

Skatīt iknedēļas cron darbus

Lai skatītu visus cron darbus, kas ir konfigurēti tā, lai tie darbotos katru nedēļu, terminālā izsniedziet šādu komandu:

$ ls -la / etc / cron.iknedēļas/

Skatīt ikmēneša cron darbus

Lai skatītu visus cron darbus, kas ir konfigurēti darboties katru mēnesi, Terminalā izsniedziet šādu komandu:

$ ls -la / etc / cron.mēnesī /

Dublējiet visus Crona darbus

Visu cron darbu dublējumu ieteicams saglabāt failā, lai tos varētu atgūt dzēšanas gadījumā. Lai izveidotu visu pašreizējo darbu dublējumu, izmantojiet novirzīšanas operatoru, lai novirzītu crontab -l izvadi uz failu.

$ crontab -l> backup_cron.txt

Visu ieplānoto Cron darbu noņemšana

Lai noņemtu visus ieplānotos cron darbus, izmantojiet karogu -r šādi:

$ crontab -r

Krona atļauja

Mēs varam ierobežot piekļuvi komandai crontab, izmantojot divus failus: / etc / cron.atļaut un / etc / cron.noliegt.

  • / etc / cron.Atļaut - Pievienojiet lietotājus (pa vienai rindai), kuriem vēlaties atļaut piekļuvi crontab komandām. Šie lietotāji var izpildīt grafika darbus.
  • / etc / cron.noliegt - Pievienojiet lietotājus (pa vienai rindai), kuriem vēlaties liegt piekļuvi crontab komandām. Šie lietotāji nevar izpildīt ieplānotus darbus.

Crontab sintakses ģeneratori

Ir dažas vietnes, kas ļauj ģenerēt sintaksi kronstabiem. Šīs vietnes atvieglo crontab izteiksmes ģenerēšanu, neatceroties sintaksi. Lai gan sintakses ģeneratoriem ir pieejamas dažādas vietnes, piemēram, crontabgenerator.com, crontab-generator.org un cronmaker.com. Tas, kas man visvairāk patīk un šķiet noderīgs, ir kronzāle.guru. Pamatojoties uz lietotāja ievadi, tas ģenerē crontab izteiksmi, kuru varat kopēt un ielīmēt crontab failā.

Secinājums

Šajā apmācībā mēs esam izskaidrojuši cron darbu pamatus, tā sintaksi un kā to iestatīt. Mēs esam arī apsprieduši, kā apskatīt cron darba vietas, izveidojot dublējumu un noņemot tos, ja tas vairs nav vajadzīgs.

Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...
Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...