V tomto tutoriálu vám ukážeme, jak používat Ubuntu crontab . V několika jednoduchých krocích vysvětlíme, jak automatizovat vaše systémové úlohy v Ubuntu pomocí crontab v Ubuntu. Softwarový nástroj cron je časový plánovač úloh v operačních systémech podobných Unixu. Cron je řízen souborem crontab (tabulka cron), konfiguračním souborem, který specifikuje příkazy shellu, které se mají pravidelně spouštět podle daného plánu. Soubory crontab jsou uloženy, kde jsou uchovávány seznamy úloh a další instrukce pro démona cron. Uživatelé mohou mít své vlastní individuální soubory crontab a často existuje soubor crontab pro celý systém (obvykle v /etc nebo podadresáři /etc), který mohou upravovat pouze správci systému.
Můžete použít cron na Ubuntu pro automatické spouštění skriptů v určeném časovém období, vytváření zálohy vašich databází nebo jiných důležitých souborů, sledování služeb běžících na vašem serveru a mnoho dalších věcí. Postupujte podle kroků níže a nastavte Ubuntu crontab.
1. Připojte se k serveru a aktualizujte svůj systém
Než začneme s nastavením crontabu na vašem serveru Ubuntu, připojte se k vašemu VPS přes SSH a aktualizujte váš systémový software na nejnovější dostupnou verzi.
Můžeme to udělat provedením následujícího příkazu:
apt-get update && apt-get upgrade
2. Zkontrolujte, zda je nainstalován balíček cron
Chcete-li použít nástroj cron, musíme se ujistit, že je na vašem serveru nainstalován balíček cron.
Chcete-li zkontrolovat, zda je cron nainstalován, můžeme spustit následující příkaz:
dpkg -l cron
3. Nainstalujte balíček cron na Ubuntu
Pokud balíček cron není nainstalován na vašem serveru, můžete jej nainstalovat pomocí správce balíčků:
apt-get install cron
4. Ověřte, zda je spuštěna služba cron
Chcete-li zkontrolovat, zda na vašem systému běží služba cron, můžeme použít následující příkaz:
systemctl status cron
5. Nakonfigurujte úlohy cron na Ubuntu
Abyste mohli nastavit úlohy cron, musíte upravit soubor /etc/crontab. Upozorňujeme, že tento soubor může upravit pouze uživatel root.
Soubor crontab můžete upravit pomocí svého oblíbeného textového editoru, například:
nano /etc/crontab
Obsah tohoto souboru obvykle vypadá takto:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 37 * * * * root run-parts /etc/cron.hourly 23 5 * * * root run-parts /etc/cron.daily 19 3 * * 0 root run-parts /etc/cron.weekly 23 0 6 * * root run-parts /etc/cron.monthly
Jak můžete vidět, soubor crontab již obsahuje vysvětlení, jak definovat své vlastní úlohy cronu. Syntaxe je následující:
minute hour day month day_of_week username command
Hvězdičku (*) v crontab lze použít k zadání všech platných hodnot, takže pokud potřebujete, aby byl příkaz spuštěn každý den o půlnoci, můžete přidat následující úlohu cron:
0 0 * * * root /sample_command >/dev/null 2>&1
Konkrétní uživatelé mohou také vytvářet úlohy cron. Cron úlohy specifické pro uživatele jsou umístěny v /var/spool/cron/username.
Když vytváříte úlohy cron pro konkrétní uživatele, nemusíte v úloze cron zadávat uživatelské jméno. Syntaxe uživatelských cronjobů by měla vypadat takto:
minute hour day month day_of_week command
6. Příklady Ubuntu crontab
Pojďme se podívat na další užitečné příklady crontabů.
Řekněme, že chceme naplánovat spuštění záložního skriptu každý den ve 4:30. Poté můžeme nastavit následující úlohu cron:
30 4 * * * /path/to/script/backup-script.sh
Nebo pokud například chceme naplánovat zálohování na první den každého měsíce ve 20 hodin, můžeme místo toho nastavit následující úlohu cron:
0 18 1 * * /path/to/script/backup-script.sh
Můžeme také použít některá z následujících časových razítek:
@hourly path/to/script/script.sh @daily path/to/script/script.sh @weekly path/to/script/script.sh @monthly path/to/script/script.sh @reboot path/to/script/script.sh
Tím naplánujete provedení úlohy cron na začátek každé hodiny/dne/týdne/měsíce nebo po restartu serveru.
Pokud skripty generují jakýkoli druh výstupu, včetně chyb, můžeme nastavit úlohu cron tak, aby protokolovala tento výstup do samostatného souboru. Například následující cron bude spouštěn třikrát denně ve 4:00, 10:00 a 16:00 každou středu a sobotu a jakýkoli výstup (standardní a chybový) bude zaznamenán do souboru backup.log:
0 4,10,16 * * wed,sat path/to/script/script.sh > /path/to/logs/backup.log 2>&1
Pokud nechceme, aby se generoval žádný výstup, můžeme přesměrovat standardní chybu i standardní výstup do /dev/null, což zahodí všechny do něj zapsané informace:
0 4,10,16 * * wed,sat path/to/script/script.sh > /dev/null 2>&1
7. Restartujte službu cron
Po provedení změn v crontab budete muset restartovat službu cron pomocí následujícího příkazu:
systemctl restart cron
8. Linuxový crontab manuál
Další informace o linuxovém cronu naleznete také v manuálových stránkách:
man cron
a
man crontab
Pokud je pro vás obtížné nastavit správné úlohy cron na začátku, můžete k vygenerování výrazu úlohy cron použít nějakou kalkulačku úlohy cron. Na internetu je k dispozici několik dobrých kalkulaček práce cron.
Viz také:Automatizace systémových úloh pomocí Crontab na CentOS 7
Samozřejmě nemusíte používat Ubuntu crontab pokud používáte jeden z našich plně spravovaných hostingů Ubuntu, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám pomohli s crontab na Ubuntu k automatizaci systémových úloh. Jsou k dispozici 24×7 a okamžitě naplánují jakékoli systémové úlohy pomocí crontab na vašem serveru Ubuntu!
PS. Pokud se vám líbil tento příspěvek na Ubuntu crontab a jak automatizovat systémové úlohy , sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Díky