Cron je časově založený démon pro plánování úloh v operačních systémech založených na Linuxu. Používá se k plánování konkrétních úloh, které se mají pravidelně spouštět v pevně stanovených časech, datech nebo intervalech. Je velmi podobný nástroji pro plánování úloh systému Windows a je velmi užitečný pro rutinní úlohy včetně:
- Denní zálohy
- Skenování systému
- Automatická údržba systému
Démon cron běží na pozadí a nepřetržitě kontroluje soubor /etc/crontab a adresáře /etc/cron.*/.
Syntaxe Crontab
Základní syntaxe souboru crontab je uvedena níže:
M H DOM MON DOW USER COMMAND * * * * * root command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
- minuty (M) zadané jako číslo od 0 do 59.
- Hodiny (H) zadané jako čísla od 0 do 23.
- Dny v měsíci (DOM) specifikované jako čísla od 1 do 31.
- Měsíce (MON) specifikované jako čísla od 1 do 12.
- Dny v týdnu (DOW) zadané jako čísla od 0 do 7, přičemž neděle je zastoupena buď/obě 0 a 7.
Příkazy Crontab
Některé běžně používané příkazy crontab jsou uvedeny níže:
- crontab -e :Používá se k úpravě nebo vytvoření nového souboru crontab.
- crontab -l :Používá se k zobrazení obsahu souboru crontab.
- crontab -i :Používá se k odstranění aktuálního souboru crontab s výzvou před odstraněním.
- crontab -r :Používá se k odstranění aktuálního souboru crontab bez výzvy.
- crontab -u :Používá se k úpravě souboru crontab jiného uživatele.
1. Naplánujte spuštění cronu na 10:00 Denní úkol
Pokud chcete, aby se skript s názvem /opt/test.sh spouštěl každý den v 10:00, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
0 10 * * * /bin/sh /opt/test.sh
2. Naplánujte spuštění cronu každých 5 minut
Chcete-li spustit skript test.sh každých 5 minut, přesměrovat standardní výstup na /dev/null a odeslat chyby na zadanou e-mailovou adresu, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
[email protected] */5 * * * * /bin/sh /opt/test.sh > /dev/null
3. Naplánujte spuštění cronu každý den, každou hodinu, v hodinu od 10:00 do 18:00
Chcete-li spustit skript test.sh každý den, každou hodinu, v hodinu od 10:00 do 18:00, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
00 10-18 * * * /bin/sh /opt/test.sh
4. Naplánujte spuštění cronu na 10:00 prvního každého měsíce
Chcete-li spustit skript test.sh v 10:00 prvního každého měsíce, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
00 10 1 * * /bin/sh /opt/test.sh
5. Naplánujte spuštění cronu na 10 minut po půlnoci a poté každé tři hodiny, každý den
Chcete-li spustit skript test.sh 10 minut po půlnoci a poté každé 3 hodiny, každý den spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
10 0-23/3 * * * /bin/sh /opt/test.sh
6. Naplánujte spuštění cronu na konkrétní dny
Chcete-li spustit skript test.sh každé pondělí a pátek v 18 hodin, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
0 18 * * mon,fri /bin/sh /opt/test.sh
7. Naplánujte cron pro spuštění více skriptů
Chcete-li spustit skript test.sh a test1.sh ve dvouhodinovém intervalu, spusťte následující příkaz:
crontab -e
Přidejte následující řádek:
0 */2 * * * /bin/sh /opt/test.sh; /bin/sh /opt/test1.sh
8. Naplánujte spuštění cronu každý týden, měsíc nebo rok
Chcete-li spustit test.sh každý týden, přidejte následující řádek:
@weekly /bin/sh /opt/test.sh
Chcete-li spustit test.sh každý měsíc, přidejte následující řádek:
@monthly /bin/sh /opt/test.sh
Chcete-li spustit test.sh každý rok, přidejte následující řádek:
@yearly /bin/sh /opt/test.sh
Závěr
Ve výše uvedené příručce jste se s několika příklady naučili, co je cron a jak jej používat. Začněte používat úlohy cron k automatizaci každodenních úkolů ještě dnes s VPS hostingem od Atlantic.Net!