Uzziniet Linux

Kā izveidot Cron Jobs operētājsistēmā Linux

Kā izveidot Cron Jobs operētājsistēmā Linux

Cron vai Cron darbs ir uz laiku balstīts plānotājs, kas izplatīts Linux / Unix sistēmās. Tas ieplāno noteiktus lietotāja uzdevumus periodiski izpildīt noteiktā datumā, laikā vai intervālos. Lielākā daļa šo uzdevumu ir skripti, lai veiktu tādas funkcijas kā dublēšana un citas darbības. Lai izveidotu šīs cron darba vietas, mēs izmantojam crontab komandas. Crontab ir UNIX komanda / utilīta, ko izmanto, lai izveidotu un pārvaldītu cron darbus.

Kā jūs redzēsiet tālāk, cron darba izveidošana un rediģēšana ir diezgan vienkārša. Pārsteidzošākais ir tas, ka pēc cron darba izveides vai rediģēšanas jums nav nepieciešams restartēt cron vai pat datoru. Vienkārši saglabājiet failu, un jums ir labi iet.

Cron Jobs bieži izmanto

Cron komandas pamatdaļas

Crontab standarta sintakse ir šāda:

a b c d e USERNAME / path / to / script izvadi

1.Laiku un datumu, kā arī atkārtotā darba precizitāti nosaka pieci lauki:

Piezīme: Dienas sākas ar pirmdienu. 0 un 7 apzīmē svētdienu

2. USERNAME: Atcerieties to aizstāt ar savu lietotājvārdu

3. Konkrēto cron izpildāmo vietu un skriptu nosaka trešais segments:

/ path / to / script

4. Pēdējā sadaļā paziņojums lietotājam pēc darba pabeigšanas ir definēts kā veids, kā sekot līdzi uzdevumiem:

izlaide

Tomēr jūsu iesūtne var būt pilna ar nelieliem uzdevumiem, kas tiek bieži novirzīti. Lai no tā izvairītos, varat atspējot automātisko e-pasta izvadi, komandai cron pievienojot zemāk esošo virkni:

> / dev / null 2> & 1 e.g a b c d e Lietotājvārds / ceļš / uz / skripts> / dev / null 2> & 1

Turklāt cron izmanto vēl četras vērtības, kas tiek izmantotas, lai laukā norādītu vairākas vērtības. Viņi ir:

Cron darbu iestatīšana

Crontab komandas ir atbildīgas par cron darbu izveidi un rediģēšanu, jo cron failus nevajadzētu rediģēt tieši. Crontab nosaka, kā jūs varat izveidot, rediģēt, uzskaitīt, atkļūdot, instalēt un atinstalēt cron uzdevumus.

Pirms sākt darbu ar cron darbiem, ir svarīgi pārliecināties, vai Linux darbvirsma vai serveris ir atjaunināts, izpildot tālāk norādītās komandas:

sudo apt atjauninājums

Ja jūsu sistēmā nav instalēta cron pakotne, instalējiet to ar zemāk esošo komandu:

sudo apt-get install cron

Instalējiet cron

Kā rediģēt crontab failu?

Lai pabeigtu procesu, jums būs jākonfigurē cron darbs. Lietotājs, kurš pieteicies, kad tiek izveidots cron darbs, automātiski kļūst par īpašnieku. To var mainīt, izveidojot darba īpašnieku, kurš būs atbildīgs par cron darba vadību, kā mēs redzēsim šajā amatā.

Lai atvērtu crontab konfigurācijas failu pašreiz reģistrētajam lietotājam, izpildiet tālāk norādīto komandu:

crontab -e

Sistēma jums liks izvēlēties piemērotu redaktoru. Mūsu gadījumā mēs izvēlēsimies pirmo iespēju (nano redaktors).

crontab -e

Katrā rindā varat pievienot vienu ieplānoto uzdevumu atbilstoši savām vēlmēm.

crontab fails

Pēc uzdevumu pievienošanas pabeidziet failu saglabāšanu un izeju. Cron dēmons izlasīs un izpildīs visas sniegtās instrukcijas. Izmaiņas tiks piemērotas pat bez sistēmas restartēšanas, jo krātuve tiek automātiski atjaunināta.

Rediģēt crontab citam lietotājam

Crontab var rediģēt dažādiem lietotājiem, izmantojot komandu zemāk esošajā sintaksē:

crontab -u cits_lietotājvārds -e

Kā izmantot īpašās rakstzīmes crontab komandās

Rakstzīmes un operatori nosaka lielāku jūsu sistēmas pielāgošanu, jo tie paplašina cron uzdevuma iespējas.

0 6 * * 1-5 / sakne / dublējums.sh

Šeit 06 apzīmē 6:00. 1–5 nozīmē dienu skaitu (no pirmdienas līdz piektdienai).

35 1-23 / 2 * * * / ceļš / uz / skripts / skripts.sh

1.-23 norāda stundu diapazonu, / 2 nosaka intervālu uz katru otro stundu.

Cron opcijas

Varat uzskaitīt cron darbus savā sistēmā, neatbloķējot crontab konfigurācijas failu. To var izdarīt, palaižot savu termināli un ierakstot zemāk esošo komandu:

crontab -l

uzskaitiet cron darbus

Šajā komandā ir uzskaitīti visi jūsu sistēmā esošie cron darbi.

Lai izdzēstu visas crontab komandas, varat izmantot tālāk norādīto komandu:

crontab -r
crontab -r -u cits lietotājvārds

Izmantojiet virknes Crontab

Stīgas ir izstrādātājiem ārkārtīgi noderīgi rīki, jo tie izvairās no atkārtotas koda segmentu rakstīšanas. Par laimi, crontabs atbalsta dažādas virkņu vērtības. Tie ietver:

@hourly: -tas pats, kas - “0 * * * *“ (Izpilda vienu reizi katru reizi stunda)
@ pusnakts:  -tas pats, kas - “0 0 * * *” (Izpilda reizi katrā diena)
@ katru dienu: tas pats, kas pusnakts
@iknedēļas:  -tāds pats kā - “0 0 * * 0” (Izpilda katru reizi nedēļu)
@ mēnesi: -tāds pats kā - “0 0 1 * *” (Izpilda vienu reizi katru reizi mēnesī)
@ katru gadu: -tāds pats kā - “0 0 1 1 *” (Izpilda katru reizi gadā)
@gadīgi: līdzīgi kā @ katru gadu
@reboot: Izpildīts vienu reizi pēc katras atsāknēšanas / restartēšanas / startēšanas.

Labs piemērs; ja jums ir rezerves skripts, kuru vēlaties palaist katru dienu, izmantojiet zemāk esošo komandu:

@daily / path / to / backup_script.sh

Cron darbu piemēri

Šeit ir saraksts ar pamata cron darbiem, kurus var izmantot, sākot:

    1. Lai katru minūti palaistu skriptu:
      * * * * * / jūsu / skripts / ceļš.sh
    2. Lai palaistu skriptu ik pēc 40 minūtēm:
      40 * * * * / jūsu / skripts / ceļš.sh
    3. Lai katru stundu palaistu skriptu:
      0 * * * * / jūsu / skripts / ceļš.sh
    4. Lai palaistu skriptu katru pusnakti:
      0 0 * * * / jūsu / skripts / ceļš.sh
    5. Lai palaistu skriptu ik pēc 23 minūtēm pēc pusnakts, pulksten 2:00 un 4:00 katru dienu:
      23 0-23 / 2 * * * / jūsu / skripts / ceļš.sh
    6. Lai palaistu skriptu plkst. 4.05 katru svētdienu.
      5 4 * * saule / tavs / scenārijs / ceļš.sh
    7. Lai palaistu skriptu nedēļas laikā pulksten 22:00.
      0 22 * ​​* 1-5 / tavs / skripts / ceļš.sh
    8. Lai palaistu skriptu 1. decembrī - pusnaktī.
      0 0 0 12 * / jūsu / skripts / ceļš.sh
    9. Lai palaistu scenāriju sestdienas pusnaktī.
      0 0 * * 6 / jūsu / skripts / ceļš.sh
    10. Lai katru stundu palaistu skriptu.
      0 * * * * / jūsu / skripts / ceļš.sh

Izmantojot šos pamatpiemērus, jūs iegūsit dziļāku izpratni par secību un to, kā to var modificēt.

Cron piekļuves ierobežošana

Mēs redzam, ka cron darbi var būt diezgan noderīgi, it īpaši, ja vēlaties automatizēt savus uzdevumus. Tomēr tas var būt arī riskanti, ja sistēma ļauj jebkuram lietotājam izveidot krona darbu. Pat ja tas neietekmē personas datus, dažiem cron darbiem var būt nepieciešams diezgan daudz sistēmas resursu, tādējādi atpaliekot no datora. Lai izvairītos no šādiem scenārijiem, sistēmas administrators (root lietotājs) var izveidot / etc / cron.Atļaut  vai / etc / cron.noliegt fails, kurā ir tikai lietotāji, kuri to var "izveidot / neveidot" cron darbs.

The / etc / cron.Atļaut failā ir lietotāji, kuri var izveidot, rediģēt, parādīt vai noņemt crontab failus. Ja šī faila nav, visi lietotāji var izveidot un pārvaldīt citas Cron darba vietas, nevis tās, kas atrodas / etc / cron.noliegt failu. Ja neviena no šiem failiem nav, lai palaistu komandu crontab, ir nepieciešamas lietotāja tiesības.

cron atļaut failu

Tagad, kad esat liedzis lietotājiem, kas nav root, izveidot cron darbavietas, ja viņiem tādas jau bija, varat apsvērt iespēju pievienot viņu cron darbus root crontab failā. Bet šeit ir mīkla - vai, pievienojot savus cron darbus saknes crontab, vai tas nedarbina viņu cron darbus kā root? Nu, šeit ir nozīme laukam USERNAME, kuru mēs iepriekš apspriedām cron komandu sintaksē. Piemēram, zemāk esošā komanda:

0 * * * * fosslinux / path / to / script.sh

Darbosies kā lietotāja “fosslinux” cron darbs, nevis kā root lietotājs.

Secinājums

Tagad jums ir skaidrs ceļvedis par Cron darbu izmantošanu dažādu uzdevumu automatizēšanai jūsu sistēmā. Tam nevajadzētu sajaukt jūs ar Startup lietojumprogrammām. Izmantojiet iepriekš minētos piemērus, lai mēģinātu automatizēt vienkāršus skriptus. Laika gaitā jūs varat apvienot īpašās rakstzīmes un aizstājējzīmes, lai veiktu daudz ikdienišķākus uzdevumus. Ja jūs tikko sākat, būtu lieliski izlasīt mūsu ierakstu par bash skriptu apmācību ar piemēriem, kas palīdzēs jums izveidot savu pirmo skriptu.

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...