přejít na obsah přejít na navigaci

Linux E X P R E S, Naplánujte si úlohy pomocou at

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!

Nahoru

Příspěvky

Naplánujte si úlohy pomocou at
Kamil 8. 01. 2010, 12:36:52
Odpovědět  Odkaz 
at -l je pěkné, ale co když si nepamatuju, pod kterým číslem se jaká úloha skrývá? Nepovedlo se mi vypsat i samotné příkazy úloh.
Milan Kozák Re:Naplánujte si úlohy pomocou at
Milan Kozák 8. 01. 2010, 18:25:57
Odpovědět  Odkaz 
Obsah úlohy vypíšete příkazem "at -c id_ulohy".
Re:Re:Naplánujte si úlohy pomocou at
Kamil 12. 01. 2010, 09:17:36
Odpovědět  Odkaz 
Aháá, super, díky. To je tak, když v manuálové stránce nejsou příklady použití :)
Naplánujte si úlohy pomocou at
robo 11. 02. 2010, 11:11:42
Odpovědět  Odkaz 
existuje nieco ako at -l spolu s at -c id_ulohy aby som hned videl co mam v ulohacg. je neprakticke prehladavat vela id ked ich budem mat napr. 50
Naplánujte si úlohy pomocou at
JIrka 7. 05. 2012, 22:12:33
Odpovědět  Odkaz 
Užitečné, díky ;)

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz