GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Automatizujte systémové úlohy pomocí Crontab na Ubuntu

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


Panels
  1. Linuxové tipy pro používání cronu k plánování úloh

  2. Monitorování systémových prostředků pomocí SAR na Ubuntu 20.04

  3. Plánování systémových úloh pomocí Cronu na Linuxu

  1. Jak vytvořit spouštěcí skript pomocí Crontab v Lubuntu Linux

  2. Ubuntu – Jak zjistit, který systém ovladače X11 používá?

  3. Automatizujte systémové úlohy pomocí crontab na CentOS 7

  1. Stáhněte si soubor na Ubuntu pomocí příkazového řádku v systému Ubuntu 20.04

  2. Jak nastavit automatizaci úloh na Linux VPS pomocí Cronu?

  3. Definování systémových úloh pomocí Cron pod Linuxem