Cron ir efektīva un populāra komandrindas lietderība, ko izmanto, lai ieplānotu plašu uzdevumu klāstu noteiktā laikā bez lietotāja mijiedarbības. Plānotie uzdevumi ir pazīstami kā cron darbi, savukārt crontab ir faila saraksts, kurā ir cron darbi.
Šajā rakstā mēs paskaidrosim ar dažādiem piemēriem, kā rediģēt un izmantot crontab failu, lai ieplānotu uzdevumus Debian 10 sistēmā.
Cron var izmantot uzdevumu automatizēšanai šādos gadījumos:
- Darbojas grafika dublējumkopijas,
- Diska vietas pārbaude ar noteiktu intervālu,
- Darbojas automātiskā apkope,
- Periodiski noņemot nevēlamus failus,
- Notiek tīkla diagnostika
Sintakse
Tiklīdz jūs saprotat tā sintaksi, ir vieglāk strādāt ar cron. Cron izmantošanas vispārējā sintakse ir šāda:
* * * * / ceļš / uz / skriptu.shKatrs no laukiem atbilst šādam:
Minūte (0-59) Stunda (0-24) Mēneša diena (1-7) Gada mēnesis (1-12)Komanda Dienas_nedēļa (0-6)
Cron instalēšana
Cron ir iepriekš instalēts Debian 10. Tomēr, ja tas trūkst jūsu sistēmā, palaidiet šo komandu, lai to instalētu:
$ sudo apt install cronSkatīt crontab
Lai skatītu crontab failu, izmantojiet šādu komandu:
$ crontab -lLai skatītu noteikta lietotāja crontab failu, izmantojiet šādu komandu:
$ sudo crontab -u lietotājs -lRediģēt crontab
Lai rediģētu pašreizējā lietotāja crontab failu:
$ crontab -eLai rediģētu konkrēta lietotāja crontab failu:
$ sudo crontab -u lietotājsJa rediģējat crontab failu pirmo reizi, jums tiks lūgts izvēlēties redaktoru:
Kad esat izvēlējies redaktoru, parādīsies šāds logs.
Piemēram, jūs vēlaties palaist rezerves skriptu ar nosaukumu “backup.sh ”, kas katru dienu plkst. 2:00 atrodas dokumentu direktorijā. Lai to izdarītu, crontab failā būs jāpievieno šāda rinda:
0 2 * * * / Dokumenti / dublējums.sh
Iepriekš minētajā logā jūs varat pievienot savus cron darbus pa vienam. Kad tas ir izdarīts, saglabājiet un izejiet no faila, pēc tam visi cron darbi automātiski darbosies noteiktā intervālā.
Noņemiet crontab
Lai noņemtu crontab failu, terminālā ievadiet šādu komandu:
$ crontab -rTagad apskatīsim virkni piemēru ar Cron darbiem Linux mašīnā.
1. Palaidiet cron darbu katru minūti
Lai katru minūti izpildītu cron darbu, crontab failā pievienojiet šādu rindu:
* * * * * / path / to / script.sh2. Palaidiet cron darbu ik pēc 10 minūtēm
Lai ieplānotu cron darba izpildi ik pēc 10 minūtēm, crontab failā pievienojiet šādu rindu.
* / 10 * * * * / path / to / script.sh3. Palaidiet cron darbu noteiktos mēnešos
Lai ieplānotu cron darbu izpildi noteiktos mēnešos e.g. Marts, augusts, decembris pievienojiet cron darbu crontab failā šādā veidā:
* * * janvāris, maijs, aug * / path / to / script.sh4. Izpildiet cron darbu noteiktās dienās
Ja vēlaties, lai jūsu darbs tiktu izpildīts noteiktās dienās, pieņemsim, ka svētdien un piektdien pulksten 17:00, tam vajadzētu izskatīties šādi:.
0 17 * * saule, fri / path / to / script.sh5. Palaidiet cron darbu katru dienu noteiktā laikā
Lai ieplānotu cron darba izpildi katru dienu noteiktā laikā, pieņemsim, ka plkst. 3:00 pievienojiet šo rindu crontab failā.
0 3 * * * / path / to / script.sh6. Palaidiet cron darbu noteiktā dienā
Lai ieplānotu cron darba izpildi noteiktā dienā, pieņemsim, ka katru svētdienu pievienojiet šo rindu crontab failā.
0 0 * * SUN / path / to / script.shDarbs notiks katru svētdienu pulksten 00:00.
7. Izpildiet vairākus uzdevumus vienā krona darbā
Lai ieplānotu vairākus uzdevumus vienā cron darbā, pievienojiet visus skriptus crontab failā, atdalot tos ar semikolu.
* * * * * / path / to / script1.sh; / path / to / script2.sh8. Palaidiet cron darbu tālāk katrs darba diena
Lai ieplānotu cron darba izpildi katrā nedēļas dienā, kas ir no pirmdienas līdz piektdienai, šī rindiņa būs jāpievieno crontab failā.
0 0 * * 1-5 / path / to / script.shDarbs notiks katru darba dienu plkst. 00:00.
9. Veiciet cron darbu divas reizes dienā
Lai ieplānotu darbu, lai tas darbotos divas reizes dienā e.g. 6:00 un 15:00, jums būs jāpievieno šī rindiņa crontab failā:
0 6,15 * * * / ceļš / uz / skripts.sh10. Palaidiet cron darbu katru stundu
Lai ieplānotu cron darba izpildi katru stundu 0. minūtē, crontab failā būs jāpievieno šī rinda:
0 * * * * / ceļš / uz / skripts.shPiemēram, ja pašreizējais laiks ir 14:00, darbs notiks 15:00, 16:00 un tā tālāk.
11. Palaidiet cron darbu ik pēc 3 stundām
Lai ieplānotu cron darba izpildi ik pēc 3 stundām 0. minūtē, crontab failā būs jāpievieno šī rinda:
0 * / 3 * * * / path / to / script.shPiemēram, ja pašreizējais laiks ir 14:00, darbs notiks 17:00, 20:00 un tā tālāk.
12. Palaidiet cron darbu katra mēneša pirmajā pulksten 16:00
Lai ieplānotu, ka darbs katru dienu tiek palaists katru dienu plkst. 16:00, crontab failā būs jāpievieno šī rinda:
0 16 1 * * / path / to / script.shStīgas Crontab
Varat arī izmantot šādas virknes, nevis garās atkārtojošās komandas.
Katru stundu - katru stundu veiciet darbu i.e. “0 * * * *”@ pusnakts - katru dienu veiciet krona darbu i.e. “0 0 * * *”
@ katru dienu - tāpat kā pusnakts
@ katru nedēļu - katru nedēļu veiciet cron darbu, t.e. “0 0 * * 0”
@ mēnesī - katru mēnesi veiciet cron darbu, i.e. “0 0 1 * *”
@ katru gadu - katru gadu veiciet cron darbu, i.e. “0 0 1 1 *”
@ katru gadu - tāpat kā @ katru gadu
@ reboot- Palaidiet cron darbu pie katras sāknēšanas
Piemēram, lai katru dienu pirmajā minūtē un pirmajā stundā palaistu cron darbu, pievienojiet šādu rindu:
@daily / path / to / script.shPiemēram, lai palaistu cron darbu katru reizi, kad tiek restartēts serveris:
@reboot / path / to / script.shTas ir viss, kas tam ir! Šajā rakstā mēs esam iemācījušies automatizēt dažādus uzdevumus, izmantojot crontab Debian sistēmā. Izmantojot iepriekš minētos piemērus, jūs varat ieplānot jebkura veida darbu uzsākšanu bez lietotāja mijiedarbības.