Cron je jednou z nejužitečnějších utilit, které můžete najít v jakémkoli operačním systému typu Unix. Cron se používá k plánování příkazů na konkrétní čas. Tyto naplánované příkazy nebo úlohy jsou známé jako "Cron Jobs" . Cron se obecně používá pro spouštění plánovaných záloh, sledování místa na disku, pravidelné mazání souborů (například souborů protokolu), které již nejsou potřeba, spouštění úloh údržby systému a mnoho dalšího. V tomto stručném průvodci uvidíme základní použití Cron Jobs v Linuxu s příklady.
1. Průvodce Cron Jobs pro začátečníky
Typický formát úlohy cron je:
Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute
Stačí si zapamatovat formát úlohy cron nebo si vytisknout následující obrázek a mít ho na stole.
Na obrázku výše hvězdičky označují konkrétní bloky času.
Zobrazení obsahu crontab soubor aktuálně přihlášeného uživatele:
$ crontab -l
Chcete-li upravit úlohy cron aktuálního uživatele, postupujte takto:
$ crontab -e
Pokud je to poprvé, budete požádáni o výběr editoru pro úpravu úloh cron.
no crontab for sk - using an empty one Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny 4. /bin/ed Choose 1-4 [1]:
Vyberte si jakýkoli, který vám vyhovuje. Zde je návod, jak vypadá ukázkový soubor crontab.
V tomto souboru musíte přidávat své cron úlohy jednu po druhé.
Chcete-li upravit crontab jiného uživatele, například ostechnix
, udělejte:
$ crontab -u ostechnix -e
1.1. Cron Jobs tutoriál
Zde je seznam nejběžněji používaných příkazů úlohy cron s příklady.
1. Chcete-li spustit úlohu cron každou minutu , formát by měl být jako níže.
* * * * * <command-to-execute>
Pokud je například čas 10:00, další úloha se spustí v 10:01, 10:02, 10:03 a tak dále.
2. Chcete-li spouštět úlohu cron každou 5. minutu , přidejte do svého souboru crontab následující.
*/5 * * * * <command-to-execute>
Pokud je například čas 10:00, další úloha se spustí v 10:05, 10:10, 10:15 a tak dále.
3. Chcete-li spustit úlohu cron každou čtvrthodinu (tj. každou 15. minutu), přidejte toto:
*/15 * * * * <command-to-execute>
Pokud je například čas 10:00, další úloha bude spuštěna v 10:15, 10:30, 10:45 a tak dále.
4. Chcete-li spustit úlohu cronu každou hodinu ve 30. minutě :
30 * * * * <command-to-execute>
Pokud je například čas 10:00, další úloha bude spuštěna v 10:30, 11:30, 12:30 a tak dále.
5. Můžete také definovat více časových intervalů oddělených čárkami. Například následující úloha cron se spustí třikrát každou hodinu, v minutě 0, 5 a 10:
0,5,10 * * * * <command-to-execute>
6. Spusťte úlohu cron každou půlhodinu tj. každou 30. minutu :
*/30 * * * * <command-to-execute>
Pokud je například nyní 10:00, další úloha bude spuštěna v 10:30, 11:00, 11:30 a tak dále.
7. Spusťte úlohu každou hodinu (v minutě 0):
0 * * * * <command-to-execute>
Pokud je například nyní 10:00, další úloha bude spuštěna v 11:00, 12:00, 13:00 a tak dále.
8. Spustit úlohu každé 2 hodiny :
0 */2 * * * <command-to-execute>
Pokud je například nyní 10:00, další úloha se spustí ve 12:00.
9. Spusťte úlohu každý den (Poběží v 00:00):
0 0 * * * <command-to-execute>
10. Spusťte úlohu každý den ve 3:00 :
0 3 * * * <command-to-execute>
11. Spusťte úlohu každou neděli :
0 0 * * SUN <command-to-execute>
Nebo,
0 0 * * 0 <command-to-execute>
Poběží v neděli přesně v 00:00.
12. Spusťte úlohu každý den v týdnu od pondělí do pátku tj. každý pracovní den :
0 0 * * 1-5 <command-to-execute>
Úloha začne v 00:00.
13. Spusťte úlohu každý měsíc (tj. v 00:00 dne 1. měsíce):
0 0 1 * * <command-to-execute>
14. Spusťte úlohu v 16:15 dne 1. měsíce :
15 16 1 * * <command-to-execute>
15. Spusťte úlohu každé čtvrtletí tj. v den v měsíci 1 v každém 3. měsíci:
0 0 1 */3 * <command-to-execute>
16. Spusťte úlohu v určitý měsíc v určitou dobu :
5 0 * 4 * <command-to-execute>
Úloha začne v dubnu v 00:05.
17. Spusťte úlohu každých 6 měsíců :
0 0 1 */6 * <command-to-execute>
Tato úloha cron začne v 00:00 1. dne v měsíci v každém 6. měsíci.
18. Spusťte úlohu každý rok :
0 0 1 1 * <command-to-execute>
Tato úloha cron začne v 00:00 dne 1. měsíce v lednu.
K definování úlohy cron můžeme také použít následující řetězce.
Řetězce úlohy Cron | Akce |
@reboot | Spustit jednou, při spuštění. |
@ročně | Spustit jednou ročně. |
@ročně | (stejně jako @ročně). |
@měsíční | Spouštět jednou za měsíc. |
@weekly | Běhejte jednou týdně. |
@daily | Běhejte jednou denně. |
@midnight | (stejně jako @daily). |
@hourly | Spouštět jednou za hodinu. |
19. Chcete-li spustit úlohu při každém restartování serveru , přidejte tento řádek do svého souboru crontab.
@reboot <command-to-execute>
20. Chcete-li odebrat všechny úlohy cron pro aktuálního uživatele:
$ crontab -r
21. Podrobnosti o použití úlohy cron naleznete na manuálových stránkách.
$ man crontab
V této fázi můžete mít základní znalosti o tom, co je Crontab a jak vytvářet, spouštět a spravovat úlohy cron v systémech Linux a Unix.
Nyní se seznámíme s některými grafickými nástroji, které nám značně usnadňují správu úloh cron.
2. Generátory syntaxe Crontab
Jak vidíte, plánování úloh cronu je mnohem jednodušší. K dispozici je také několik webových generátorů syntaxe crontab, které tuto práci ještě usnadňují. Nemusíte se učit nazpaměť a/nebo se učit syntaxi crontab.
Následující dvě webové stránky vám pomohou snadno vygenerovat výraz crontab na základě vašich vstupů. Jakmile vygenerujete řádek podle svých požadavků, stačí jej zkopírovat/vložit do crontab soubor.
2.1. Crontab.guru
Crontab.guru je vyhrazená webová stránka pro učení příkladů úloh cron. Stačí zadat své vstupy na web a během několika minut se okamžitě vytvoří syntaxe crontab.
Tato stránka také poskytuje spoustu příkladů úloh cron a tipy . Zkontrolujte je a zjistěte, jak naplánovat cronjob.
2.2. Generátor Crontab
Na to upozornil jeden z našich čtenářů pan Horton v sekci komentářů níže.
Crontab Generator je další web, který nám pomáhá rychle a snadno generovat výrazy crontab. Na této stránce je uveden formulář s více položkami. Uživatel musí vybrat všechna povinná pole ve formuláři.
Nakonec klepněte na "Generate Crontab Line" tlačítko dole.
Na další obrazovce uživatel uvidí svůj výraz crontab. Stačí jej zkopírovat/vložit do souboru crontab. Je to tak jednoduché.
Snadné, že? Obě tyto webové stránky určitě pomohou nováčkům, kteří nemají mnoho zkušeností s vytvářením pracovních míst cron.
3. Grafické rozhraní Crontab
Pro snadné vytváření úloh cron prostřednictvím grafického rozhraní je k dispozici několik front-endových nástrojů Crontab. Není třeba upravovat soubor Crontab z příkazového řádku pro přidávání nebo správu úloh cron! Tyto nástroje výrazně usnadní správu úloh cronu!
3.1. Uživatelské rozhraní Crontab
Uživatelské rozhraní Crontab je webový nástroj pro snadnou a bezpečnou správu úloh cron v Linuxu. K vytváření, odstraňování a správě úloh cron nemusíte ručně upravovat soubor crontab. Vše lze provést pomocí webového prohlížeče několika kliknutími myši.
Uživatelské rozhraní Crontab vám umožňuje snadno vytvářet, upravovat, pozastavovat, mazat, zálohovat úlohy cron a také importovat, exportovat a nasazovat úlohy na jiných počítačích bez větších potíží.
Pokud vás zajímá více, podívejte se na následující odkaz.
- Jak snadno a bezpečně spravovat úlohy Cron v systému Linux
3.2. Zeit
Zeit je Qt front-end pro crontab
a at
příkaz. Pomocí Zeit můžeme přidávat, upravovat a odstraňovat úlohy cron prostřednictvím jednoduchého grafického rozhraní. Další podrobnosti naleznete na následujícím odkazu:
- Zeit – rozhraní GUI pro Crontab pro plánování úloh v Linuxu
4. Závěr
V tomto tutoriálu na kartě Cron jsme diskutovali o tom, co je úloha cron, a o základním použití úloh cron v Linuxu s ukázkovými příkazy. Probrali jsme také několik webových generátorů syntaxe crontab a grafických rozhraní crontab, která se používají ke snadnému vytváření a správě úloh cron v Linuxu.