Již jsme se detailně obeznámili se základními principy plánování úloh nástrojem cron. V prostředí GNU/Linuxu - a Unixu obecně - je však možné využívat také plánování jednorázových úloh. K tomu slouží nástroj at.
Zatímco cron nám umožní nastavit opakované akce, tedy jak často se má daná úloha provádět, pomocí at nastavíme akci jednorázovou, tedy za jak dlouho se provede.
Samotný démon, který obsluhuje vykonání naplánované úlohy, se jmenuje atd (at daemon) a je nezbytné jej mít v systému spuštěný. To můžete ověřit příkazem:
# service atd status
Pokud neběží, spusťte jej:
# service atd start
nebo starší metodou, pokud uvedený příkazem ve vašem systému nefunguje:
# /etc/init.d/atd start
Jakmile obslužný démon běží, můžeme se pustit do zadávání jednorázových akcí. Nástroj at je v tomto směru velice benevolentní a umožňuje celou řadu možností zápisu času, kdy chceme akci provést. Zde je několik ukázek:
Hodnota |
Význam |
hh:mm |
přesný čas |
2AM |
2:00 |
2PM |
14:00 |
noon |
12:00 |
teatime |
16:00 |
midnight |
0:00 |
now |
právě teď |
now + n jednotka |
n jednotek (m, h) od teď |
Samotné zadání pak probíhá tak, že nejprve na příkazovou řádku zadáme specifikaci času a potvrdíme enterem, a poté specifikujeme konkrétní příkazy. Zadávání ukončíme stiskem [CTRL]+[D].
$ at 2:00
warning: commands will be executed using /bin/sh
at> wget http://www.example.com/file.pdf
at> [CTRL]+[D]
job 12 at 2013-09-13 10:34
$
Zdá se vám, že něco chybí? Máte pravdu – at totiž umožňuje specifikaci i konkrétního data, kdy chceme příkaz provést. Nemusíme tedy zadávat jen úkoly na nejbližších 24 hodin, ale klidně na jakýkoliv den chceme. Pro ilustraci opět tabulka.
Hodnota |
Význam |
today |
dnes |
tomorrow |
zítra |
MM/DD/YY or DD.MM.YY |
měsíc/den/rok nebo den.měsíc.rok |
Zápis pak může vypadat například takto:
$ at 2am 12/15/15
warning: commands will be executed using /bin/sh
at> wget http://www.example.com/file.pdf
at> [CTRL]+[D]
job 12 at 2015-09-13 10:34
$
Příkaz bude proveden 15. prosince 2015 ve 2:00.
Pro zajímavost ještě jedna perlička pro milovníky skriptů – at jde skvěle používat nejen jako interaktivní nástroj, ale právě i v shellových skriptech. Takovýto in-line zápis pak může vypadat například:
$ echo ‚wget http://www.example.com/file.pdf ‚ | at 2:00
Děkujeme za pozornost. Doufáme, že jste se z našeho informačního seriálu o administraci GNU/Linuxu něco dozvěděli.
Autor: Jirka Dvořák