Navigare rapidă
- Care este scopul unui job cron?
- Cum configurezi un job cron pe Linux?
- Cât de des rulează un job cron?
- Poate fi setat un job cron să ruleze mai mult de o dată pe oră?
- Ce se întâmplă dacă nu specificați un interval pentru cronjob?
- Ora sistemului afectează momentul în care va rula jobul meu cron?
- Vreau ca scriptul meu să ruleze în fiecare minut, care este intervalul corect?
- Scriptul meu nu rulează, ce ar putea fi în neregulă?
- Primesc o eroare din scriptul meu, cum pot afla de ce?
- Pot avea mai multe comenzi în Cron Job?12Cum șterg o lucrare Cron?13 Pot fi trimise prin e-mail ieșirea din comenzile mele?
Un job cron este o sarcină sau un script programat care rulează automat la anumite intervale.Ce poate face un job cron?Un job cron poate rula comenzi, scripturi sau programe într-un program regulat.Acest lucru poate fi util pentru sarcini precum menținerea computerului să funcționeze fără probleme sau efectuarea de sarcini administrative.Cum configurez un job cron?Există mai multe moduri de a configura un job cron pe Linux.Puteți utiliza instrumentul Cronjob Manager, puteți edita fișierul de configurare al shell-ului sau puteți utiliza linia de comandă.Ce metodă ar trebui să folosesc?Instrumentul Cronjob Manager este cel mai ușor de utilizat și oferă mai multă flexibilitate decât editarea fișierului de configurare al shell-ului.Pentru a configura un nou Cronjob utilizând Cronjob Manager: 1) Deschideți Cron Job Manager făcând clic pe pictograma „Cron Jobs” din bara de sistem (sau tastând „crontab -e”). 2) În Cron Job Manager, faceți clic pe butonul „Nou” pentru a crea un nou CronJob. 3) În caseta de dialog New CronJob, introduceți un nume pentru noul CronJob și faceți clic pe OK. 4) În fereastra CronJob nou creată, veți vedea două file: General și Comenzi. 5) În fila General, veți vedea informații despre starea dvs. actuală (în rulare sau nu), precum și opțiuni pentru setarea limitelor de timp și oprirea/pornirea manuală a lucrărilor. 6) În fila Comenzi, veți vedea toate comenzile care sunt programate în prezent să ruleze în acest CronJob special. 7) Pentru a adăuga o comandă suplimentară la această listă, faceți clic pe ea și introduceți parametrii necesari în câmpurile corespunzătoare din fereastra de comandă care se deschide (vezi mai jos). 8) Pentru a șterge orice comenzi existente din această listă, pur și simplu le selectați și apăsați tasta Delete (sau selectați Anulare dacă doriți să salvați modificările, dar nu doriți să adăugați comenzi noi). 9) Faceți clic pe OK pentru a închide ambele ferestre și a reveni la ecranul principal Crontab, unde job-ul nou creat ar trebui să fie acum listat sub „Locuri active”. 10) Pentru a porni/opri/reporni imediat această lucrare, fără a aștepta expirarea perioadei de timp programate: 1) Selectați-o din lista de Lucrări active și apăsați butonul Start/Stop (sau faceți clic dreapta pe el și alegeți Start/Stop din context meniul). 2) Dacă doriți ca această lucrare să continue, chiar dacă nu mai este activă (de exemplu, când sistemul se oprește noaptea): 1a) Selectați-o din lista de Lucrări active și apăsați butonul Adăugare regulă... -> meniți Modificare tip de program. -meniu de jos -> Verificați opțiunea Run Every Day -> Apăsați butonul Aplicare -> Închideți fereastra regulilor -> Salvați modificările apăsând butonul OK b ) Faceți clic dreapta pe intrarea selectată din lista de locuri de muncă active -> Adăugați regulă... c ) Meniul drop-down Modificare tip de program -> Verificați opțiunea Run At Night d ) Apăsați butonul Aplicare e ) Închideți fereastra regulii f ) Salvați modificările apăsând butonul OK Cum opresc joburile mele cron care rulează curent?Pentru a opri toate joburile crons care rulează în prezent: 1a .Selectați Toate elementele din secțiunea Running Crons a ecranului principal Crontab->Clic dreapta-> Stop
1b .Selectați lucrarea curentă din secțiunea de rulare Crons a ecranului principal Crontab->Clic dreapta-> Opriți toate procesele înrudite
Cum repornesc joburile cron oprite actuale?Pentru a reporni toate joburile crons oprite în prezent: 1a .Selectați Toate elementele din secțiunea Crons oprite a ecranului principal Crontab->Clic dreapta-> Reporniți procesele selectate
1b .Selectați lucrarea curentă din secțiunea Crons oprit a ecranului Crontab principal->Clic dreapta-> Reporniți procesele selectate Cum îmi modific perioada de timp programată curentă pentru joburile cron care rulează curent?Pentru a modifica perioada de timp programată curentă pentru una sau mai multe joburi cron care rulează în prezent:1a .
Care este scopul unui job cron?
Un job cron este o sarcină sau un script programat care rulează automat la anumite intervale.Joburile Cron pot fi folosite pentru a automatiza sarcinile de rutină, cum ar fi actualizarea unei baze de date online, rularea unui program într-un program sau trimiterea de notificări prin e-mail.Lucrările Cron pot fi, de asemenea, folosite pentru a efectua acțiuni speciale atunci când apar anumite evenimente, cum ar fi lansarea unui site web atunci când cineva se conectează la contul său.
Cum configurezi un job cron pe Linux?
Există câteva moduri diferite de a configura un job cron pe Linux.Puteți utiliza comanda crontab pentru a vă gestiona joburile sau puteți utiliza Cron Job Manager.De asemenea, puteți utiliza instrumentul Linux Scheduler pentru a vă programa lucrările.În cele din urmă, puteți utiliza instrumentul de linie de comandă pentru a vă rula joburile.
Pentru a vă gestiona joburile cu comanda crontab, deschideți mai întâi o fereastră de terminal și tastați:
crontab -e
Aceasta va deschide fișierul crontab în directorul dvs. curent.Prima linie a acestui fișier se numește „implicit” și stabilește câteva opțiuni de bază pentru utilizarea comenzii crontab.Pentru a adăuga un job nou, introduceți:
crontab -e >> mynewjob.cron
Aceasta va crea o nouă intrare în fișierul mynewjob.cron pe care o puteți edita după cum este necesar.Pentru a rula un job, introduceți pur și simplu:
crontab mynewjob.cron
De asemenea, puteți specifica în ce zi a săptămânii ar trebui să ruleze jobul dvs. introducând un număr opțional după „0” (de exemplu, „0 0 * *”). De asemenea, puteți specifica la ce oră din zi ar trebui să ruleze jobul dvs. introducând un număr opțional după „*” (de exemplu, „15 10 * *”).
Dacă doriți să eliminați un job din lista dvs. de sarcini programate, introduceți pur și simplu:
crontab -r mynewjob.cron
De asemenea, puteți șterge intrări individuale din lista de activități programate introducând: ctrl-D (sau CMD-D pe Mac) urmat de numele intrării pe care doriți să o ștergeți.Dacă doriți să eliminați doar o anumită sarcină din lista dvs., dar nu doriți să fie șterse și toate intrările asociate acesteia, puteți introduce: ctrl-X urmat de numele intrării pe care doriți să o ștergeți fără a șterge și intrările aferente acesteia. .
În cele din urmă, dacă trebuie doar să vizualizați informații despre o anumită sarcină care este programată în prezent, dar care nu rulează încă, introduceți: ctrl-P urmat de numele sarcinii despre care doriți informații.
Cât de des rulează un job cron?
Un job cron este o sarcină programată care rulează automat la anumite intervale.Puteți configura o lucrare cron pentru a rula o dată pe zi, o dată pe săptămână sau o dată pe lună.De asemenea, puteți configura un job cron să ruleze numai dacă sunt îndeplinite anumite condiții.De exemplu, este posibil să doriți ca jobul dvs. cron să ruleze numai dacă computerul este alimentat de curent alternativ.
Poate fi setat un job cron să ruleze mai mult de o dată pe oră?
Da, un job cron poate fi setat să ruleze mai mult de o dată pe oră.Pentru a face acest lucru, adăugați următoarea linie în fișierul crontab:
*/1 * * * * /usr/bin/php -f /var/www/html/cronjob.php
Acest lucru va face ca scriptul php situat la /var/www/html/cronjob.php să fie executat în fiecare oră.
Ce se întâmplă dacă nu specificați un interval pentru cronjob?
Dacă nu specificați un interval pentru cronjob, acesta va rula în fiecare minut.Dacă doriți să ruleze mai des, puteți adăuga o expresie de timp precum „*/5” care ar rula sarcina la fiecare cinci minute.Dacă doriți să ruleze mai rar, puteți adăuga un număr precum „0 */5” care ar rula sarcina o dată la cinci minute.
Ora sistemului afectează momentul în care va rula jobul meu cron?
Nu există un răspuns definitiv la această întrebare.În funcție de configurația sistemului dvs., ora din zi poate afecta momentul în care va rula jobul dvs. cron.De exemplu, dacă ceasul de sistem este setat la UTC, atunci lucrarea cron va rula în orice fus orar în care se află computerul.Dacă ceasul sistemului dvs. este setat la ora locală, atunci jobul dvs. cron va rula în funcție de fusul orar local.
Pentru a determina dacă ora sistemului afectează sau nu când rulează un job cron, va trebui să vă uitați la configurația mașinii dvs.Unele modalități comune de a face acest lucru sunt prin utilizarea comenzii date sau prin vizualizarea conținutului /etc/rc.local . Ambele metode pot fi accesate dintr-o fereastră de terminal tastând sudo .
Dacă doriți să programați o sarcină care ar trebui să ruleze întotdeauna, indiferent de ora curentă a sistemului, puteți utiliza anacron . anacron este un program care monitorizează modificările în fișiere și actualizează automat anumite configurații pe baza acestor modificări.Pentru mai multe informații despre anacron, consultați
.
Vreau ca scriptul meu să ruleze în fiecare minut, care este intervalul corect?
Nu există un răspuns unic la această întrebare, deoarece intervalul la care ar trebui să ruleze un job cron va varia în funcție de nevoile specifice ale scriptului.Cu toate acestea, câteva sfaturi despre setarea unui interval adecvat pentru o lucrare cron pot fi găsite mai jos.
În primul rând, este important să înțelegeți ce scop servește scriptul și ce tip de program trebuie să respecte.Dacă scriptul trebuie să ruleze în mod regulat, dar are un impact relativ scăzut (de exemplu, verificarea e-mailurilor noi la fiecare cinci minute), atunci un interval de minut poate fi suficient.Pe de altă parte, dacă scriptul necesită mai mult timp pentru a-și finaliza sarcina (de exemplu, procesarea seturilor mari de date), atunci un interval mai lung (cum ar fi orar) poate fi mai potrivit.
Un alt factor care ar trebui luat în considerare atunci când se stabilește un interval pentru o lucrare cron este cât de multă sarcină poate suporta sistemul.Dacă rulează prea multe lucrări simultan, performanța poate avea de suferit din cauza supraîncărcării de procesare crescute.Prin urmare, este important să testați diferite intervale pentru a găsi unul care funcționează cel mai bine pentru scriptul specific, fără a provoca prea multe interferențe sau comportament întârziat.
În cele din urmă, rețineți că nu toate sistemele sunt configurate exact în același mod; prin urmare, este posibil ca anumiți parametri (cum ar fi un interval) să nu funcționeze corect pe o mașină față de alta.În aceste cazuri, poate fi necesar să încercați diferite intervale până când se găsește ceva care funcționează fiabil.
Scriptul meu nu rulează, ce ar putea fi în neregulă?
Ar putea fi câteva lucruri greșite.În primul rând, asigurați-vă că scriptul este executabil.Pentru a face acest lucru, puteți utiliza comanda chmod pentru a modifica permisiunile fișierului, astfel încât să fie citit de contul de utilizator al computerului dvs. (de obicei 755 pentru fișierele din Linux) și să poată fi scris de către contul de grup al computerului dvs. (de obicei 666 pentru fișierele din Linux) . Dacă nu aveți acces la comanda chmod, puteți încerca să utilizați sudo pentru a vă acorda permisiunea de a modifica fișierul.
Dacă încă întâmpinați probleme la executarea scriptului, ar putea fi ceva în neregulă cu configurarea acestuia.Puteți verifica acest lucru rulând scriptul ca root - acest lucru vă va permite să vizualizați și să editați fișierul de configurare.Cea mai frecventă problemă la configurarea scripturilor este informațiile incorecte sau lipsa căii; dacă acesta este cazul, îl puteți remedia adăugând căi adecvate la fișierul de configurare al scriptului.
În cele din urmă, asigurați-vă că computerul dvs. are instalat tot software-ul necesar; fără aceste programe, este posibil ca scriptul dumneavoastră să nu funcționeze corect.De exemplu, pentru ca joburile Cron să ruleze pe sisteme Linux, Cron trebuie să fie instalat și configurat corect; fără Cron instalat sau configurat incorect, scripturile dvs. nu vor rula deloc.
Utilizatorii Linux se confruntă adesea cu probleme în timp ce încearcă să-și configureze job-urile cron din cauza lipsei de cunoștințe adecvate despre comenzile Linux care sunt utilizate în scopul de gestionare a joburilor, cum ar fi chmod etc., așa că am scris acest ghid despre cum să setați un job cron linux ușor și rapid cu ajutorul unor comenzi de bază, cum ar fi chmod etc.. Sper că acest ghid vă va ajuta!
Pentru a începe cu configurarea unui cronjob pe sistemul Linux: 1) Deschideți fereastra terminalului2) Tastați următoarea comandă3) Introduceți „chmod +x myscript”4) Salvați myscript ca myscript.sh5) Execut myscript.sh6) Lucrarea dvs. ar trebui să fie pornită automat la fiecare zi la miezul nopții7) Pentru a opri un job în curs de desfășurare: tastați „cronjob -f”8 ) Pentru a lista cronjob-urile active în prezent: tastați „cronjob -l”9 ) Pentru a șterge cronjob activ curent: tastați „cronjob -d”10 ) Amintiți-vă întotdeauna că corect utilizarea comenzilor menționate mai sus este foarte importantă în timpul instalării oricărui tip de sarcină de scripting shell pe sistemul Linux, așa că vă rugăm să citiți cu atenție tutorialul menționat mai jos înainte de a începe orice sarcină legată de scripting shell pe sistemul Linux: - Mai întâi deschideți fereastra terminalului - Tastați următoarea comandă - EnterNow salvați scriptul nostru ca MyScriptnamePentru de exemplu:-Salvați MyScriptname ca test_scriptOdată salvat cu succes, închideți fereastra terminalului Acum deschideți o nouă fereastră de terminal-Tastați următoarea comandă-Enter Ar trebui să vedeți rezultate similare cu Captura de ecran următoare arată rezultatul de la comanda menționată mai sus When executed successfullyabovementionedcommandwill create an executablefile namedtest_scriptinsidecurrentdirectorywhereyourunningitfromnowyoucanstartusingitbyjustexecutingitwithoutany further argumentsLikebelow:(Abovecommandwillruntest_scriptonceinitsinitializationphaseandstopitsrunningimmediatelyaftercompletionofitstask.)Similarlyyoucanexecutemanydifferenttypesofcommandswithsimpleargumentslikestop(),start(),status()etc.(Pleaserememberthattheoutputofthestartingcommandswillbedisplayedinterminalwindowwhiletheoutputofthestoppingcommandswillbedisplayedinnewterminalwindow.
Primesc o eroare din scriptul meu, cum pot afla de ce?
Există câteva moduri de a afla de ce scriptul dvs. primește o eroare.O modalitate este să utilizați comanda „grep” pentru a căuta linii specifice în scriptul dvs. care cauzează problema.O altă modalitate este să utilizați comanda „log” pentru a vedea ce se întâmplă când rulează scriptul.În cele din urmă, puteți utiliza și comanda „tail -f” pentru a urmări rezultatul scriptului dvs. în timp ce rulează, astfel încât să puteți vedea dacă apar erori sau comportament neașteptat.
Pot avea mai multe comenzi în Cron Job?12Cum șterg o lucrare Cron?13 Pot fi trimise prin e-mail ieșirea din comenzile mele?
14Cum mă asigur că jobul meu Cron funcționează la o anumită oră?15 Care sunt câteva exemple bune Cron Job?16
Un job cron este un program care rulează automat la anumite ore, de obicei pe baza unui program pe care l-ați stabilit.Îl puteți folosi pentru a rula sarcini precum verificarea e-mailului, descărcarea fișierelor sau rularea programelor.
Pentru a crea un job cron, deschideți mai întâi interfața de linie de comandă (CLI) pe computer.Apoi tastați următoarea comandă: sudo crontab -e Aceasta va deschide fișierul CRONTAB în editorul de text ales.În partea de sus a acestui fișier, veți vedea linii care arată astfel: # Acest fișier conține una sau mai multe joburi.Fiecare linie specifică o acțiune care trebuie întreprinsă de shell atunci când este executată asincron # Formatul este:
Da!Atâta timp cât fiecare comandă iese cu succes fără eroare (adică, nu provoacă daune), puteți introduce în Cron Job câte comenzi doriți!Doar asigurați-vă că toate părăsesc cu succes înainte de a părăsi CRONTAB.
Pentru a șterge o lucrare Cron care rulează în prezent, tastați pur și simplu sudo rm -f NUMELE LUCRĂRII DVS., unde NUMELE LUCRĂRII DVS. este numele jobului Cron ofensator. Fii atent totuși – dacă există sarcini în așteptare asociate cu YOURJOBNAME , acestea vor fi șterse împreună cu aceasta!Asigurați-vă că orice altceva asociat cu YOURJOBNAME este curățat corect înainte de a-l șterge totuși :)
Da!Pentru a trimite rezultate de la anumite comenzi dintr-un Job Cron ca mesaje de e-mail în loc să le imprimați pe ecran*, includeți pur și simplu un semnal suplimentar când executați acele comenzi: echo -n >&2 Unde &2 reprezintă caracterul pipe ( | ). Deci, de exemplu, dacă dorim ca rezultatul mesajului nostru de e-mail să meargă la /var/mail/username în loc de doar stdout , am folosi ceva de genul acesta: echo -n 'Sarcina ta a rulat cu succes!' >> /var/mail/username Notă * Ieșirea prin e-mail poate să nu funcționeze corect dacă pe computer a fost instalat un software terță parte care modifică modul în care funcționează intrarea și ieșirea standard (cum ar fi ecranul). În astfel de cazuri, vă rugăm să încercați să imprimați, mai degrabă decât să trimiteți prin e-mail rezultatul de la anumite comenzi dintr-un CronJob.
- Ce este un job cron și cum funcționează?
- Cum creez un job cron?
- Pot avea mai multe comenzi în Cron Job?
- Cum șterg un job Cron?
- Ieșirea din comenzile mele poate fi trimisă prin e-mail?