Linux E X P R E S

Facebook

Naplánujte si úlohy pomocou at

konzole.jpg

Unixovský príkaz "at" je súčasťou každého Linuxu i Unixu, ale nájdete ho i vo Windows. Pomocou neho spustíte úlohy vo vami zadanom čase. V tomto príspevku bude návod, ako čo najjednoduchšie príkaz používať.


Čo je at?

Pre automatizáciu, resp. plánovanie úloh v Linuxe slúži cron. Ten však môže byť trochu zložitý pre ľudí, ktorí ho nikdy nepoužili. Príkazom at si tiež naplánujete spustenie úloh v zadanom čase - môže to byť akákoľvek hodina, minúta i sekunda v akomkoľvek dni v určitom mesiaci či roku, teda kedykoľvek.

Cron a at - aký je rozdiel?

Pomocou cron sa úlohy spúšťajú opakovane, neskôr ich teda už nemusíte nikdy plánovať a bude stačiť, ak nastavenie urobíte len raz - napríklad každý deň (alebo iba každý týždeň) v čase o 13:30. S at je plánovanie vždy iba jednorázové.

Načo je at užitočný?

Pre význam plánovania úloh stačí i dobrá fantázia. Naplánujete si napríklad jednorázové zálohovanie, ale môže to byť i sťahovanie súborov z internetu v prípadoch, keď sťahujete veľa a práve máte zahltenú (pomalú) linku. Rovnako si nastavíte budíček, ktorý vás upozorní, že treba vypnúť sporák s už uvareným čajom, alebo si spustíte antivírový program práve v čase, keď budete sedieť pri televízore, pretože skenovanie diskov systém spomaľuje, čo nikomu nie je veľmi po vôli, keď pracuje.

Atd démon

Pokiaľ chcete použiť príkaz at, musí vám v pozadí bežať atd démon, ktorý bude všetko riadiť. Ak vám atd nebeží, spustíte ho nasledovne:

/etc/init.d/atd start

Konkrétne príklady s at

Predpokladajme, že je poobede, a to 16:00 (dátum nie je dôležitý). Do príkazového riadku napíšete:

at 16:44

Zobrazí sa vám príkazový riadok, kde zadáte akýkoľvek príkaz. Ten sa samozrejme spustí o 16:44 toho istého dňa:

juro@debian:~$ at 16:44

warning: commands will be executed using /bin/sh

at> play /usr/share/sounds/KDE_Startup.wav

at> <EOT>

job 1 at Sat Dec  5 16:44:00 2009

juro@debian:~$ 

Po zadaní príkazu at 16:44 stlačíte kláves [Enter] a potom napíšete príkaz:

play /usr/share/sounds/KDE_Startup.wav

Zase ťuknete na kláves [Enter] a buď uvediete ďalšie príkazy, alebo úlohu číslo 1 (job 1 - pokiaľ je úloha naozaj prvá) ukončíte klávesmi [Ctrl-d], po čom sa zobrazí <EOT> aj s textom, ktorý vidieť nižšie (job 1 at Sat Dec 5 16:44:00 2009).

Týmto bolo povedané všetko, a to aj to, že pre stanovený čas môžete naplánovať viac úloh. Úlohu či úlohy ukončíte vždy pomocou kláves [Ctrl-d], ale budú vykonané iba v čase, pomocou ktorého ste sa dostali do príkazového riadku at. Pre plánovanie úloh v inom čase (dni, mesiaci, minúte, sekunde) to už bude iná úloha (napríklad job 2).

Ďalšie príkazové konštrukcie

Pre flexibilnosť sa radšej vyhneme ostatným príkazovým konštrukciám a použijeme iba jednu - at now + čas, pomocou ktorej si plánovanie naozaj nastavíte na kedykoľvek.

Prostredníctvom at now + 2 hours si napríklad nastavíte vypnutie počítača o dve hodiny neskôr (alebo o 3, o 4 hodiny atď.):

juro@debian:~$ at now + 2 hours

warning: commands will be executed using /bin/sh

at> shutdown -h now

at> <EOT>

job 4 at Sat Dec  5 18:57:00 2009

Alebo, pokiaľ vám myšlienky lietajú v hlave a zabúdate ich, aj stiahnutie veľkého ISO súboru si hneď môžete naplánovať povedzme nazajtra (ak je práve polnoc; ak nie je, čas si upravte podľa potreby):

juro@debian:~$ at now + 12 hours

warning: commands will be executed using /bin/sh

at> wget ftp://ftp.at.debian.org/debian-cd/5.0.3/i386/iso-dvd/debian-503-i386-DVD-1.iso

at> <EOT>

job 5 at Sun Dec  6 05:05:00 2009

juro@debian:~$

Samozrejme, nezabudnite si overiť, aký čas ukazuje váš systém.

S konštrukciou at now + ... môžete, okrem hodiny (hour) alebo hodín (hours), použiť i minutes (minúty), days (dni), weeks (týždne), years (roky).

Pokiaľ chcete úlohy zrušiť, najprv si zobrazte, aké čakajú na pozadí:

juro@debian:~$ at -l

4       Sat Dec  5 18:57:00 2009 a juro

5       Sun Dec  6 05:05:00 2009 a juro

3       Sun Dec  6 16:44:00 2009 a juro

Pomocou atrm zrušíte napríklad úlohy 4 a 5:

juro@debian:~$ atrm 4
juro@debian:~$ atrm 5

Overíme si to:

juro@debian:~$ at -l

3       Sun Dec  6 16:44:00 2009 a juro

Áno, úlohy 4 a 5 boli zrušené.

Možno pre niekoho bude netradičné používať príkaz at, ale je veľmi praktický. Pokiaľ nebudete klásť fantázii hranice, napadne vás určite viac možností ako v tomto stručnom návode. Tak do toho!

Diskuze (5) Nahoru