At aneb plánování jednorázových úloh

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


Zákaznická
podpora

Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Více...
Souhlasím