Cron verstoen a benotzen: E komplette Guide fir Aarbechtsplazen ze plangen
chron, kuerz fir kommando online lafen, ass e mächtegen Zäit-baséierten Job Scheduler an Unix-ähnleche Betribssystemer. De Begreff cron ass e Spill op d'Wuert Kronos or chronos, déi an der griichescher Mythologie d'Zäit duerstellt. Den Numm cron fir den Zäitbaséierten Jobplaner reflektéiert seng Funktioun fir Aufgaben op spezifesch Zäiten oder Intervalle ze plangen an auszeféieren, sou datt et eng passend Referenz zum Konzept vun der Zäit an der Mythologie mécht.
Cron erlaabt Iech repetitive Aufgaben ze automatiséieren, Scripte mat spezifeschen Intervalle auszeféieren an d'Systemeffizienz z'erhalen. Dëse komplette Guide féiert Iech duerch alles wat Dir wësse musst iwwer Cron, vun der Installatioun bis zur Notzung, Schlësselvokabulär a richtege Code Echantillon.
Inhaltsverzeechnes
- Wat ass Cron?
- Cron installéieren
- Basis Konzepter an Terminologie
- Cron Syntax
- Beispiller a Benotzungsfäll
- Gemeinsam Fallen a Best Practices
- Zousätzlech Cron Ressourcen
Wat ass Cron?
Cron ass en Daemon (Hannergrondprozess) deen op Unix-baséiert Systemer leeft, dorënner Linux a macOS. Säin primäre Zweck ass geplangten Aufgaben automatesch auszeféieren. Dës Aufgaben kënne variéieren vun einfache Skripte bis Systemerhaltung a Backups.
Cron installéieren
An de meeschte Unix-ähnleche Systemer ass cron virinstalléiert. Dir kënnt seng Disponibilitéit kontrolléieren andeems Dir en Terminal opmaacht an tippt:
crontab -e
Wann dëse Kommando den Cron Table Editor opmaacht, hutt Dir Cron installéiert. Wann net, kënnt Dir et mat Ärem System Package Manager installéieren. Zum Beispill, op Ubuntu, kënnt Dir benotzen:
sudo apt-get install cron
Cron Konzepter an Terminologie
Ier Dir an d'Cron-Benotzung taucht, loosst eis e puer wesentlech Konzepter an Terminologie verstoen:
- crontab: Kuerz fir cron Dësch, et ass e Fichier deen d'Lëscht vun geplangten Aufgabe fir e Benotzer enthält.
- Cronjob: Eng eenzeg Aufgab oder Kommando geplangt fir op eng spezifesch Zäit ze lafen.
- Felder: All Cronjob huet fënnef Felder déi definéieren wann d'Aarbecht leeft:
- Minutt (0-59)
- Stonnen (0-23)
- Dag vum Mount (1-31)
- Mount (1-12)
- Dag vun der Woch (0-7, wou souwuel 0 an 7 Sonndes duerstellen)
Cron Syntax
D'Syntax vun enger Crontab Entrée ze verstoen ass entscheedend. Et follegt d'Muster:
* * * * * command-to-be-executed
Hei ass eng kommentéiert Erklärung déi Dir an Ärem Cron Job kënnt asetzen:
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
All Asterisk (*) representéiert e Feld am Cron Ausdrock. Zum Beispill, fir all Dag um 3:30 eng Aarbecht ze plangen, benotzt Dir:
30 15 * * * command-to-be-executed
Cron Beispiller a Benotzungsfäll
Loosst eis e puer praktesch Beispiller entdecken fir d'Cronnotzung ze illustréieren:
- Lafen e Skript Daily: Fir e Skript all Dag um Mëtternuecht auszeféieren, kënnt Dir benotzen:
0 0 * * * /path/to/script.sh
- All Stonn e Skript lafen: Fir eng Stonn Aufgab, benotzt:
0 * * * * /path/to/script.sh
- Wöchentlech Backup: Fir e wëchentleche Backup ze plangen Sonndes um 2 Auer, benotzt:
0 2 * * 0 /path/to/backup-script.sh
- Lafen eng Aufgab op spezifesch Méint: Fir eng Aarbecht nëmmen am Januar a Juli um 8:30 Auer ze bedreiwen:
30 8 * 1,7 * /path/to/script.sh
Cron Pitfalls a Best Practices
- Ëmweltvariablen: Vergewëssert Iech datt Är Cron Jobs déi néideg Ëmfeldvariablen opsetzen, well Cron Jobs d'Ëmfeldvariablen vun Ärer Shell net ierwen.
- Permis: Gitt sécher datt Dir d'Permissiounen op Är Skriptdatei als ausführbar setzt. All Kéier wann ech mäi Skript erëm späicheren, géif ech fannen datt meng Permissiounen erëm musse gesat ginn!
- Wee Variablen: Spezifizéiert de komplette Wee fir ausführbar a Skripte bannent Äre Cron Jobs fir Problemer mat relativen Weeër ze vermeiden.
- Testen: Test se an engem sécheren Ëmfeld ier Dir kritesch Cron Jobs opstellt fir sécher ze stellen datt se funktionnéieren wéi erwaart.
- Logged: Redirect d'Output vun Äre Cron Jobs op eng Logdatei fir hir Ausféierung an all potenziell Feeler ze verfolgen.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
Dës Cron Job leeft e Skript /path/to/script.sh
all Dag um Mëtternuecht, an den Ausgang (souwuel stdout a stderr) generéiert vum Skript gëtt an d'Logbuchdatei bäigefüügt
/path/to/cron.log
. Dëst ass eng allgemeng Praxis fir d'Output vun Cron Jobs fir Iwwerwaachung an Troubleshooting Zwecker z'erfaassen an ze protokolléieren. Loosst eis dës spezifesch Cron Job Syntax opbriechen:
- *0 0 * * *: Dësen Deel definéiert den Zäitplang fir wéini de Cron Job soll lafen. An dësem Fall ass et geplangt fir all Dag um Mëtternuecht ze lafen (0 Minutte virun 0 Stonnen).
- /path/to/script.sh: Dëst ass de Kommando oder de Skript fir auszeféieren wann de Cron Job leeft. Dëst Beispill weist e Skript op
/path/to/script.sh
. - >> /path/to/cron.log: Dësen Deel leet de Standardausgang (stdout) vun der Cron-Job op eng Logdatei mam Numm
cron.log
op/path/to/
. d'>>
Bedreiwer fügt d'Ausgab un d'Logbuchdatei, also wann d'Datei net existéiert, gëtt se erstallt, a wann et scho gëtt, gëtt d'Ausgab um Enn vun der Datei bäigefüügt. - 2> & 1: Dëst gëtt benotzt fir béid Standardausgang (stdout) a Standardfehler (stderr) op déiselwecht Logdatei ze redirectéieren. Déi
2
duerstellt stderr, an der1
representéiert stdout. Also,2>&1
heescht datt souwuel stdout wéi och stderr op déi selwecht Logdatei virdru spezifizéiert ginn.
Cron ass e wäertvollt Tool fir Aufgaben op Unix-baséiert Systemer ze automatiséieren. Mat senge flexiblen Zäitplangoptiounen kann et d'Systemverwaltung vereinfachen an d'Effizienz verbesseren. Andeems Dir seng Syntax versteet a bescht Praktiken verfollegt, kënnt Dir d'Kraaft vum Cron notzen fir Är Routine Aufgaben effektiv ze automatiséieren.
Zousätzlech Cron Ressourcen
- Unix Daemon - Dean Wilson