Vodič i vodiči za Cron: Automatizirani zadaci

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


Cron poslovi i rubrike: zvuče futuristički. No starim hakerima vraćaju sjećanja na jednostavnije vrijeme Bourne shell-a i vi i AWK-a: Unix alati koji se više ne koriste.

No, iako je možda istina da malo ljudi i dalje koristi vi, cron se danas više koristi nego ikad. U stvari, to je osnova mnogih cool stvari koje radite na vašoj web stranici a da toga niste ni svjesni.

Što je Cron?

Prema izvornom piscu crona, Kenu Thompsonu, ime dolazi od grčke riječi chronos što znači “vrijeme”. Dakle, cron je osnovni program za planiranje Unix operativnog sustava. Omogućuje korisnicima da zakažu procese za pokretanje. To mogu biti jednokratne stvari poput planiranog isključivanja sustava. Ili to mogu biti povremene stvari poput noćnog pojačanja. Cron je demon – pozadinski proces koji se uvijek izvodi. Prati što treba učiniti i kada.

Ali sjajna stvar je da se ne trebate brinuti kako to funkcionira; samo se trebate brinuti kako ga koristiti.

Cron Job

Cron posao je pojedinačna naredba. Cron kaže koju naredbu za pokretanje i kada. Na trenutak ćemo doći do detalja o tome.

crontab

Crontab je tablica poslova cron – “kartica cron (le).” Crontab je samo tekstualna datoteka. Svaki redak u njemu predstavlja posao cron-a. Općenito, svaki računalni sustav ima globalni crontab koji održava administrator sustava. Ali svaki korisnik ima svoj osobni krontab.

Ovako većina upravljačkih ploča web poslužitelja omogućava korisnicima postavljanje vremenski definiranih događaja. Ali to je i način na koji su CMS-ovi poput WordPressa u stanju raditi neke svoje čarolije.

Format Crontaba

Krontab je ispunjen linijama za komentare i linija za posao cronta. Kao i kod većine naredbenih datoteka Unix-a, redovi koji počinju s simbolom hashtag (broj, funta), “#”. (Simbol se također koristi za izmjenu funkcija dnevnog boravka, ali to nije standardno.)

Cron poslovi se sastoje od šest dijelova: pet vremenskih parametara i jedan naredbeni parametar. Dakle, svaka crta poslova je organizirana na sljedeći način:

Naredba Min Hour DoM pon

Oni su definirani kako slijedi:

  • Min: minuta sata (0-59).
  • Sat: sat dana (0-23).
  • DoM: dan u mjesecu (1-31).
  • Pon: mjesec u godini (1-12 ili siječanj-prosinac).
  • DoW: dan u tjednu (0-6 ili sunce-sat).
  • Naredba: sve što normalno možete pokrenuti u naredbenom retku.

Parametri vremena

Svi parametri rada cron omogućuju tri posebna znaka.

Posebni znakovi

  • Zvezdice: općenito, vidjet ćete puno zvjezdica u vremenskim parametrima. Zvezdica označava sve moguće vrijednosti. Dakle, ako se zvjezdica koristi za Min parametar, posao cron će se izvoditi svake minute (što je u skladu s ostalim parametrima vremena).
  • Zarezi: parametri vremena mogu se sastojati od više od jednog broja. Zarez se koristi za odvajanje diskretnih vrijednosti. Na primjer, Min parametar od 3,27,51 natjerao bi se na posao da se izvrši u minutama 3, 27 i 51.
  • Defifri: crtica se koristi za označavanje raspona vrijednosti. Na primjer, Min parametar od 3-51 natjerao bi se da se posao kreće u vremenu od 3 do 51. Imajte na umu da se zarez i crtica mogu koristiti zajedno. Dakle Min od 3-15,39-51 izvršavao bi naredbu u vremenu od 3 do 15 i od 39 do 51.

Parametar naredbe

Naredbeni parametar može biti bilo koja naredba koju biste mogli unijeti u naredbeni redak. Međutim, imajte na umu da s njim ne možete komunicirati. Dakle, ako zahtijeva unos korisnika, mora se osigurati u krontabu. To se postiže korištenjem znaka postotka (%). Svi podaci nakon prvog „%“ se šalju naredbi kao standardni ulaz. Naknadni znakovi “%” tumače se kao novi znakovi.

Primjeri

Evo nekoliko jednostavnih primjera:

# Pokretanje naredbe svake minute svakog dana
* * * * * / kanta / ls -R / > /etc/FileList.txt
# Pokreni naredbu svakog ponoći svakog dana
0 0 * * * / kanta / ls -R / > /etc/FileList.txt
# Pokreni naredbu u 20:03 svakog utorka
3 20 * * 2 / kanta / ls -R / > /etc/FileList.txt
# Izvedite naredbu u 1:00 ujutro 7. dana svakog mjeseca
0 1 7 * * / kanta / ls -R / > /etc/FileList.txt
# Pokretanje naredbe u 18:45 svakog petka u kolovozu
45 18 * 8 5 / kanta / ls -R / > /etc/FileList.txt

Evo nekoliko složenijih primjera:

# Pokrenite naredbu svake minute prvih pola sata svakog sata svakog dana
0-29 * * * * / bin / ls -R / > /etc/FileList.txt
# Izvedite naredbu svake ponoći prvog dana u godini
0 0 1 1 * / kanta / mačka > /etc/motd.txt%Sretna Nova godina, svi!% Nadam se da je vaša sjajna!
# Izvedite naredbu u 20:03 drugog dana u godini
3 20 2 1 * / kanta / mačka > /etc/motd.txt%Ova godina se zasigurno povlači!
# Izvedite naredbu u 1:00 i 13:00 7. dana svakog mjeseca
0 1,13 7 * * / kanta / ls -R / > /etc/FileList.txt
# Izvedite naredbu u 18:45 svakog petka u siječnju do travnja i kolovoza
45 18 * 1-4,8 5 / kanta / ls -R / > /etc/FileList.txt

Varijacije

Postoje različite varijacije i proširenja osnovnih poslova crontab-a i cron-a o kojima smo razgovarali.

Konkretno, neki sustavi omogućuju parametar druge i godine. Također, ponekad je dostupan i drugi znak za parametre DoM i DoW: L. No, za svaki se parametar koristi različito. Za DoM, usamljeni “L” znači posljednji dan u mjesecu. Za DoW, na dan dana se dodaje “L” kako bi se naznačio posljednji dan u mjesecu. Na primjer, “1L” bi značio posljednji ponedjeljak u mjesecu. Konačno, neki sustavi pružaju makronaredbe poput @daily.

Crontab program

Ljudi koji su novi na Unixu često smatraju crontab zbunjujućim jer postoji datoteka crontab i program crontab. Najbolje je da se o crontabu razmišlja kao o datoteci. Program crontab je samo jednostavna stvar koja omogućava korisnicima prikaz i uređivanje datoteke crontaba. Ako niste administrator sustava, normalno ćete upotrebljavati internetsko sučelje. Najvažnije je zapamtiti da program crontab nije program cron o kojem raspravljamo u nastavku.

Ako imate pristup naredbenom retku na svom stroju, možete izravno koristiti program crontab. Postoje dva načina za korištenje.

Uvoz Crontaba

Datoteka formatirana s krontabom može se uvesti u korisničku ili globalnu datoteku crontaba koristeći sljedeću sintaksu:

crontab [-u user] datoteka

Ako se korisnik ne dade, pretpostavlja se zadani korisnik. Ako datoteka nije dana, program će se čitati sa standardnog unosa.

Crontab Edit

Sljedeća naredba je vrlo slična, ali vam omogućuje pregled, uređivanje ili brisanje trenutne datoteke crontab-a:

crontab [-u korisnik]

U tom slučaju korisnik mora odabrati jednu od sklopki, -l, -r ili -e. Prekidač -l uzrokuje da program prikaže trenutnu datoteku crontab-a. Prekidač -r uklanja trenutnu datoteku crontab. Budite oprezni s tim! Prekidač -e omogućuje uređivanje datoteke crontab-a.

Korištenje Crona

Većina ljudi nikada zapravo neće sami uređivati ​​krontab. Ljudi će obično koristiti sučelje za to. Na primjer, u cPanelu cron poslovi se mogu dodati u sustav u obliku koji izgleda ovako:

Cron Job Form

Ostali sustavi upravljačke ploče nude iste značajke.

Cron za učenje

Ako upravljate poslužiteljima ili pišete CMS dodatke, možda biste se htjeli duboko zaroniti u cron. No, do neke mjere, to će ovisiti o ulasku u priručnike i specifikacije. Najteža stvar kod cron-a je da su različiti sustavi stvorili vlastita proširenja i idiosinkrazije. No za veliku većinu svog rada trebat će vam samo osnovni kod.

Vodiči za krone

Ovi vodiči će vas pokrenuti s datotekama cron i crontab. Neki od njih ulaze u priličnu dubinu.

  • Zadaci zakazivanja pomoću Cron Jobs-a: temeljit uvod u cron sustav od osnova do naprednih predmeta.
  • Linux Crontab: 15 Awesome Cron Job Primjeri: udžbenik u formatu pitanja i odgovora.
  • Newbie: Uvod u Cron: osnovni uvod Unix Geeksa u cron s puno primjera.
  • Kratki uvod u Cron Jobs: jednostavan uvod u cron s naglaskom na korištenje naredbe crontab, a ne ručno uređivanje datoteke crontab..
  • Raspored zadataka na Linuxu pomoću Crontaba: jasan uvod u raspoređivanje cron na Linux poslužiteljima.
  • CronHowto: uvod u Ubuntu dokumentaciju za cron, crontab i alternative

Cron priručnici

Na svakom Unix sustavu koji imate, moći ćete dobiti informacije o njegovoj implementaciji cron pomoću naredbe man:

  • % man crontab # Prikazuje priručnik za naredbu crontab.
  • % man 5 crontab # Prikazuje priručnik za format datoteke crontab.
  • % man cron # Prikazuje priručnik za demona cron.

Evo mrežnih priručnika za Linux i FreeBSD:

  • Linux Crontab File: priručnik za datoteku crontab koji se koristi u Linuxu.
  • Linux Crontab Command: priručnik za Linux aplikaciju za dodavanje cron poslova u datoteku crontab.
  • Linux Cron Daemon: priručnik za Linux cron daemon – program koji radi sav posao.
  • FreeBSD Crontab File: priručnik za datoteku crontab koji se koristi u FreeBSD.
  • FreeBSD Crontab naredba: priručnik za FreeBSD aplikaciju za dodavanje cron poslova u datoteku crontab.
  • FreeBSD Cron Daemon: priručnik za FreeBSD cron daemon – program koji radi sav posao.

Cron Tools

Mnogo ovih alata ne samo da će vam pomoći da napravite raspored rasporeda cronima onako kako želite, već će vam pružiti uvid u to kako cijeli sustav funkcionira.

  • Crontab – Kratka referenca: zgodna referenca za korisnike koji su sustav već upoznati.
  • Crontab Generator: sučelje točke i klika koje izvodi crontab liniju za bilo koji planirani zadatak koji želite.
  • Jednostavno stvorite Crontab Sintaksu: još jedan generator crontaba, ali onaj koji zaista pomaže u učenju stvaranja vlastitih datoteka crontaba rukom..
  • Crontab Editor: suprotnost generatora; unosite podatke o poslu cron-a i on vam govori što ste zakazali.
  • Standard Cron Jobs: uvod u stvaranje cron radnih mjesta s cPanelom iz SiteGround-a.
  • Korištenje Cron-a: uvod u upotrebu cron-a s primjerima pomoću upravljačke ploče Plesk.

Cron alternative

Budući je zakazivanje tako važan dio računanja, postoji puno izbora u vezi s softverom za to. Cron je standard, ali ako imate naprednije ili jednostavno drugačije potrebe, neke od tih mogućnosti mogu bolje odgovarati vašim ciljevima.

  • Anacron: zamjena cron za računala koja ne rade uvijek. Tako se može nositi sa situacijama kada se računalo ne pokreće kada je zakazan zadatak.
  • Fcron: općenito zamjena za cron, ali kao i anacron, ne zahtijeva da sustav uvijek radi.
  • Hcron: zamjena cron s poboljšanim formatom tablice, neovisnosti o radu i mrežnom orijentacijom.
  • JAMS: sustav zakazivanja komercijalnih poduzeća.
  • Jobber: komercijalni proizvod s sposobnostima planiranja u kombinaciji s kontrolom klijenta i izdavanjem računa.
  • Chronos: distribuirani program za planiranje dizajniran za sustave temeljene na oblaku.

Sažetak

Zadaci zakazivanja rasporeda jedan su od najvažnijih aspekata rada s računalima – to je jedan od načina na koji vam štede puno vremena. A ako radite s Linux poslužiteljima, vjerojatno već koristite cron. Ali s malo znanja, možete ga koristiti za znatno poboljšanje produktivnosti i smanjenje dosadnih dijelova vašeg posla i sklonih pogreškama.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me