Visual scheduling with Gantt chart for production and batch orders
Obsah:
- Co je soubor Crontab
- Syntaxe a operátory Crontab
- Celosystémové soubory Crontab
- Předdefinovaná makra
- Příkaz Linux Crontab
- Proměnné Crontab
- Omezení Crontabu
- Příklady úloh Cron
- Závěr
Cron je plánovací démon, který provádí úkoly v zadaných intervalech. Tyto úkoly se nazývají úlohy cron a většinou se používají k automatizaci údržby nebo správy systému.
Můžete například nastavit úlohu cron pro automatizaci opakujících se úkolů, jako je zálohování databází nebo dat, aktualizace systému pomocí nejnovějších oprav zabezpečení, kontrola využití místa na disku, odesílání e-mailů atd. Některé aplikace, například Drupal nebo Magento, vyžadují k provedení určitých úkolů úlohy cron.
Úlohy cron lze naplánovat tak, aby se spouštěly o minutu, hodinu, den v měsíci, měsíc, den v týdnu nebo jakoukoli jejich kombinaci.
Co je soubor Crontab
Crontab (tabulka cron) je textový soubor, který specifikuje plán úloh cron. Existují dva typy souborů crontab. Celosystémové soubory crontab a soubory jednotlivých uživatelů crontab.
Soubory crontab uživatelů jsou uloženy podle jména uživatele a jejich umístění se liší podle operačních systémů. V systému založeném na Red Hat, jako je CentOS, jsou soubory crontab ukládány do adresáře
/var/spool/cron
zatímco soubory Debian a Ubuntu jsou ukládány do adresáře
/var/spool/cron/crontabs
.
Přestože můžete uživatelské soubory crontab upravovat ručně, doporučujeme použít příkaz
crontab
.
/etc/crontab
a soubory v adresáři
/etc/cron.d
jsou crontab soubory v celém systému, které mohou upravovat pouze správci systému.
Ve většině linuxových distribucí můžete také skripty vkládat do adresářů
/etc/cron.{hourly, daily, weekly, monthly}
a skripty budou prováděny každou
hour/day/week/month
.
Syntaxe a operátory Crontab
Každý řádek v souboru crontab uživatele obsahuje šest polí oddělených mezerou následovanou příkazem, který má být spuštěn.
* * * * * 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)
Prvních pět polí může obsahovat jednu nebo více hodnot oddělených čárkou nebo rozsah hodnot oddělených spojovníkem.
-
*
- Operátor hvězdičky znamená jakoukoli hodnotu nebo vždy. Pokud máte v poli Hodina symbol hvězdičky, znamená to, že úkol bude proveden každou hodinu. - Operátor čárky umožňuje zadat seznam hodnot pro opakování. Například pokud máte1, 3, 5
v poli Hodina, bude úloha spuštěna v 1:00, 3:00 a 5:00.-
- Operátor pomlčky vám umožňuje určit rozsah hodnot. Pokud máte v poli Den v týdnu1-5
, bude úloha spuštěna každý pracovní den (od pondělí do pátku)./
- Operátor lomítka umožňuje určit hodnoty, které se budou opakovat v určitém intervalu mezi nimi. Například pokud máte v poli Hodina*/4
, znamená to, že akce bude provedena každé čtyři hodiny. Je to stejné jako zadání0, 4, 8, 12, 16, 20
. Místo hvězdičky před operátorem lomítka můžete použít také rozsah hodnot,1-30/10
znamená to samé jako1, 11, 21
.
Celosystémové soubory Crontab
Syntaxe celosystémových souborů crontab se mírně liší od crontabů uživatelů. Obsahuje další povinné uživatelské pole, které určuje, který uživatel spustí úlohu cron.
Existuje několik speciálních plánovacích maker Cron používaných k určení běžných intervalů. Tyto zkratky můžete použít namísto specifikace data ve pěti sloupcích. Příkaz crontab umožňuje nainstalovat nebo otevřít soubor crontab pro úpravy. Příkaz crontab můžete použít k zobrazení, přidání, odebrání nebo úpravě cron úloh pomocí následujících možností: Příkaz crontab otevře soubor crontab pomocí editoru určeného proměnnými prostředí
Démon cron automaticky nastaví několik proměnných prostředí. Správci systému mohou řídit, kteří uživatelé mají přístup k příkazu
Ve výchozím nastavení existuje pouze soubor
Pokud soubor
Pokud žádný soubor neexistuje, příkaz
Níže uvádíme několik příkladů úloh cron, které vám ukážou, jak naplánovat spuštění úlohy v různých časových obdobích. Spusťte příkaz v 15:00 každý den od pondělí do pátku: Spusťte skript každých 5 minut a přesměrujte standardní výstup na
Spouštějte každý příkaz každý pondělí ve 15:00 (použijte operátor
Spusťte skript PHP každé 2 minuty a zapište výstup do souboru: Spusťte skript každý den, každou hodinu, hodinu od 8:00 do 16:00: Spusťte skript v první pondělí každého měsíce v 7 hodin Spusťte skript v 21:15, 1. a 15. dne každého měsíce: Nastavte vlastní proměnné
Naučili jste se, jak vytvářet cronové úlohy a naplánovat úkoly k určitému datu a času. Pokud máte nějaké dotazy, neváhejte a zanechte komentář.
* * * * * command(s)
* * * * * command(s)
Předdefinovaná makra
@yearly
(nebo @
@annually
) - Zadaný úkol spusťte jednou ročně o půlnoci (12:00) 1. ledna. Ekvivalent k
0 0 1 1 *
.
@monthly
- Zadaný úkol spusťte jednou za měsíc o půlnoci prvního dne měsíce. Ekvivalent k
0 0 1 * *
.
@weekly
- Zadaný úkol spusťte jednou týdně v neděli v půlnoci. Ekvivalent k
0 0 * * 0
.
@daily
- Zadaný úkol spusťte jednou denně o půlnoci. Ekvivalent k
0 0 * * *
.
@hourly
- Spusťte zadaný úkol jednou za hodinu na začátku hodiny. Ekvivalent k
0 * * * *
.
@reboot
- Spusťte zadanou úlohu při spuštění systému (boot-time).Příkaz Linux Crontab
crontab -e
- Upravte soubor crontab nebo jej vytvořte, pokud ještě neexistuje.
crontab -l
- Zobrazení obsahu souboru crontab.
crontab -r
- Odstraňte aktuální soubor crontab.
crontab -i
- Před odebráním rychle odstraňte aktuální soubor crontab.
crontab -u
VISUAL
nebo
EDITOR
.Proměnné Crontab
PATH=/usr/bin:/bin
. Pokud je příkaz, který voláte, přítomen v zadané cestě cron, můžete použít absolutní cestu k příkazu nebo změnit proměnnou cron
$PATH
. Nemůžete implicitně připojit
:$PATH
jako byste to udělali s běžným skriptem. Výchozí prostředí je nastaveno na
/bin/sh
. Můžete změnit jinou skořepinu změnou proměnné SHELL.Cron vyvolá příkaz z domovského adresáře uživatele. Proměnnou
HOME
lze přepsat nastavením v crontabu. E-mailové oznámení je zasláno vlastníkovi crontabu. Chcete-li přepsat výchozí chování, můžete použít proměnnou prostředí
MAILTO
se seznamem (oddělených čárkami) všech e-mailových adres, které chcete dostávat e-mailovými oznámeními. Pokud je
MAILTO
definováno, ale prázdné (
MAILTO=""
), není odesílána žádná pošta.Omezení Crontabu
crontab
pomocí souborů
/etc/cron.deny
a
/etc/cron.allow
. Soubory se skládají ze seznamu uživatelských jmen, jednoho uživatelského jména na řádek.
/etc/cron.deny
a je prázdný, což znamená, že všichni uživatelé mohou používat příkaz crontab. Pokud chcete zakázat přístup k příkazům crontab konkrétnímu uživateli, přidejte do tohoto souboru uživatelské jméno.
/etc/cron.allow
existuje, mohou příkaz
crontab
použít pouze uživatelé uvedení v tomto souboru.
crontab
mohou použít pouze uživatelé s oprávněními správce.Příklady úloh Cron
0 15 * * 1-5 command
dev null
, na zadanou e-mailovou adresu bude odeslána pouze standardní chyba:
[email protected] */5 * * * * /path/to/script.sh > /dev/null
&&
mezi příkazy):
0 15 * * Mon command1 && command2
*/2 * * * * /usr/bin/php /path/to/script.php >> /var/log/script.log
00 08-16 * * * /path/to/script.sh
0 7 1-7 * 1 /path/to/script.sh
15 9 1, 15 * * /path/to/script.sh
HOME
,
PATH
,
SHELL
a
MAILTO
a každou minutu spusťte příkaz.
HOME=/opt PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/usr/bin/zsh [email protected] */1 * * * * command
Závěr
Správce úloh Deluxe: Alternativní Správce úloh pro Windows

Správce úloh Deluxe je alternativní software pro Windows 10 / 8/7 s některými dalšími informacemi o úkonech v porovnání s nativním
AnVir Správce úloh zdarma: Alternativa ke Správci úloh systému Windows

Přečtěte si AnVir Správce úloh. Můžete řídit vše, co běží na počítači, z jediného rozhraní. Zvyšuje výkon, odstraňuje trojské koně a vylepšuje Windows.
Plánování vypnutí nebo restartování v systému Windows pomocí Plánovače úloh

Použití Plánovače úloh v systému Windows 10/8/7 k naplánování vypnutí, restartování atd. nebo vypnutí nebo restartování systému Windows v určitou dobu, a to buď v jednom okamžiku nebo pravidelně.