At: Difference between revisions
(219 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
''' | == Sissejuhatus == | ||
Wiki näited käivad '''at version 3.1.13''' kohta.<br> | |||
Näidetes kasutatud käskude ees on prompt '''root@server:~#''', seda pole vaja sisestada.<br> | |||
Näidete väljundite eristamiseks kasutatud taanet. | |||
<table border="1"> | <table border="1"> | ||
<tr> | <tr> | ||
<td>'''at'''</td> | <td>'''at'''</td> | ||
<td>'''At''', koondab sisestatud käsud ühte '''at-job'''-i, mis käivitatakse hiljem | <td>'''At''', koondab sisestatud käsud ühte '''at-job'''-i, mis käivitatakse hiljem. </td> | ||
<tr> | <tr> | ||
<td>'''atq'''</td> | <td>'''atq'''</td> | ||
Line 19: | Line 21: | ||
<tr> | <tr> | ||
<td>'''batch'''</td> | <td>'''batch'''</td> | ||
<td>käivitab käsu kui süsteemi | <td>käivitab käsu kohe kui süsteemi load(koormatus) [https://wiki.itcollege.ee/index.php/Load_average] seda lubab, kui koormus langeb alla 0.8, või täpsustatud väärtuse '''atrun''' [http://www.tutorialspoint.com/unix_commands/atrun.htm] käsuga | ||
</td> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
===At ja Cron erinevus=== | |||
*'''At-job''' pärib oma keskkonna, st. käivitatakse hetkel on töökataloog ja keskkonnamuutujad sellised nagu olid töö sisestamisel<br> '''Cron''' (käivitab oma töö "cron" keskkonnas) [http://www.softpanorama.org/Utilities/at.shtml] | |||
*'''At''' on korraliseks, kuid '''cron''' kui mingit käsku vaja käivitada korduvalt. [http://en.wikipedia.org/wiki/At_%28Unix%29] | |||
== Kasutamine ja näited == | == Kasutamine ja näited == | ||
[http://www.thegeekstuff.com/2010/06/at-atq-atrm-batch-command-examples/] | Struktueerisin allpool kirjeldatud näited artikli "Understand at, atq, atrm, batch Commands using 9 Examples" [http://www.thegeekstuff.com/2010/06/at-atq-atrm-batch-command-examples/] eeskujul | ||
=== Töö käivitamine kindlaksmääratud kuupäeval ja ajal === | |||
# Käivitamiseks määratud tööde nimekirja kuvamine käsuga '''atq''' | at <time> <date> | ||
# Käivitamiseks määratud tööde eemaldamine/kustutamine käsuga '''atrm''' | |||
# Käivitamine, kui koormus on madalam kui < 1.5 käsuga '''batch''' | '''root@server:~#''' at -v 23:55 16 dec | ||
''Mon Dec 16 23:55:00 2013'' | |||
''warning: commands will be executed using /bin/sh'' | |||
'''at>''' rm *.txt | |||
'''at>''' uptime>>uptime.at.txt | |||
'''at>''' ps -axu>>ps.at.txt | |||
'''at>''' <EOT> | |||
'''Selgitus:''' | |||
* -v võti kuvas AT käsu käivitamise aja: Mon Dec 16 23:55:00 2013 | |||
* näite at skripti sisu: | |||
* eemaldab kõik kaustas asuvad .txt laiendiga failid | |||
* suunab uptime faili uptime.at.txt lõppu | |||
* suunab protsesside nimekirja faili ps.at.txt lõppu | |||
* <EOT> (ehk at skripti kirjutamise lõpetamine/väljumine, '''Ctrl+D''' käsuga) | |||
=== Töö käivitamine kasutades suhtelist aega (N: nüüd + 10 minutit)=== | |||
at <suhteline_aeg> + <ajahulk> <ühik> (+ kui palju antud ajahetkest hiljem) | |||
at <suhteline_aeg> - <ajahulk> <ühik> (- kui palju antud ajahetkest varem) | |||
at now + 1 min | |||
at now + 1 hour | |||
at now + 1 day | |||
at tomorrow - 2 hour | |||
'''Näide:''' | |||
'''root@server:~#''' date | |||
''Tue Dec 17 00:37:00 EET 2013'' | |||
'''root@server:~#''' at -v tomorrow - 4 hour | |||
''Tue Dec 17 20:37:00 2013'' | |||
''warning: commands will be executed using /bin/sh'' | |||
'''at>''' uptime>>uptime.at.txt | |||
'''at>''' <EOT> | |||
'''Selgitus:''' | |||
* date, et demonstreerida käsu käivitamise aega (võrdle AT käivitamise ajaga) | |||
* -v võti kuvas AT käsu käivitamise aja: Tue Dec 17 20:37:00 2013'' | |||
* näite at skripti sisu: | |||
* suunab uptime faili uptime.at.txt lõppu | |||
* <EOT> (ehk at skripti kirjutamise lõpetamine/väljumine, '''Ctrl+D''' käsuga) | |||
=== Käivitamiseks määratud tööde nimekirja kuvamine käsuga '''atq'''=== | |||
atq | |||
at -l (alias käsule atq) | |||
'''Näide:''' | |||
'''root@server:~#''' atq | |||
41 Tue Dec 17 23:43:00 2013 a root | |||
42 Tue Dec 17 02:55:00 2013 a student | |||
38 Tue Dec 17 20:36:00 2013 a root | |||
39 Tue Dec 17 20:37:00 2013 a root | |||
37 Tue Dec 17 22:33:00 2013 a root | |||
40 Tue Dec 17 20:43:00 2013 a root | |||
'''Selgitus:''' | |||
* <töö number> <protsessi käivitamise kuupäev> <töötähise täht a-z või = "võrdus" märk> <mis kasutaja käivitab> | |||
=== Käivitamiseks määratud tööde eemaldamine/kustutamine käsuga '''atrm'''=== | |||
atrm <töö number> | |||
at -d <töö number> (alias käsule atrm) | |||
'''Näide:''' | |||
'''root@server:~#''' atrm 42 | |||
'''root@server:~#''' atq | |||
41 Tue Dec 17 23:43:00 2013 a root | |||
38 Tue Dec 17 20:36:00 2013 a root | |||
39 Tue Dec 17 20:37:00 2013 a root | |||
37 Tue Dec 17 22:33:00 2013 a root | |||
40 Tue Dec 17 20:43:00 2013 a root | |||
'''Selgitus:''' | |||
* Eemaldab eelmises näites loetelus olnud töö nr 42 | |||
=== Käivitamine, kui koormus on madalam kui < 1.5 käsuga '''batch'''=== | |||
batch | |||
'''Näide:''' | |||
'''student@server:~$''' batch --help | |||
batch accepts no parameters | |||
'''student@server:~$''' batch | |||
warning: commands will be executed using /bin/sh | |||
'''at>''' uptime>>uptime.batch.txt | |||
'''at>''' <EOT> | |||
job 44 at Tue Dec 17 20:39:00 2013 | |||
'''student@server:~$''' ls | |||
uptime.batch.txt | |||
'''student@server:~$''' less uptime.batch.txt | |||
20:39:52 up 12 min, 1 user, load average: 0.00, 0.02, 0.05 | |||
uptime.batch.txt (END) | |||
'''Selgitus:''' | |||
* Batch käsk ei aksepteeri mingeid parameetreid, kuna töö käivitamine sõltub ainult süsteemi koormusest. | |||
* Batch käsu sisestamisel on näha, et loodi töö numbriga 44. | |||
* Kuna süsteemi load oli alla 1.5 siis käivitati batch skript peale sisselugemist koheselt. | |||
=== Tööde käivitamine failist kasutades '''-f''' võtit=== | |||
at -f <faili_nimi> <käivitamise aeg> | |||
'''Näide:''' | |||
'''tööd.txt sisu:''' | |||
fortune|cowsay>>TööFailistNäide.txt | |||
uptime>>TööFailistNäide.txt | |||
'''student@server:~$''' at -f tööd.txt now + 2 min | |||
warning: commands will be executed using /bin/sh | |||
job 45 at Tue Dec 17 21:39:00 2013 | |||
/ Few things are harder to put up with \ | |||
| than the annoyance of a good example. | | |||
| | | |||
| -- "Mark Twain, Pudd'nhead Wilson's | | |||
\ Calendar" / | |||
--------------------------------------- | |||
\ ^__^ | |||
\ (oo)\_______ | |||
(__)\ )\/\ | |||
||----w | | |||
|| || | |||
21:39:00 up 1:11, 1 user, load average: 0.00, 0.01, 0.05 | |||
=== '''At''' käsu kasutamise lubamine/piiramine teatud kasutajatele=== | |||
/etc/at.allow | /etc/at.allow | ||
/etc/at.deny | /etc/at.deny | ||
Kasutades at.allow ja at.deny faile saab administraator hallata, kes saavad kasutada '''at''' käsku.<br> | |||
Kõigepealt süsteem kontrollib '''at.allow''' faili olemasolu. Juhul kui fail eksisteerib siis ainult kasutajatunnused kirjeldatud at.allow failis võivad kasutada at käsku. | |||
Järgmisena kontrollitakse '''at.deny''' faili. Kui at.deny eksisteerib, siis selles failis kirjeldatud kasutatele ei lubata kasutada at käsku. | |||
Kui kumbagi faili ei eksisteeri, siis ainult superuser saab käsku kasutada. ('''tõlge: man at''') | |||
=== '''At''' käsu käivitamine '''[http://linux.101hacks.com/unix/nohup-command/ nohup]''' reziimis=== | |||
[http://linux.101hacks.com/unix/nohup-command/] | |||
Peale at käsu käivitamist võib välja logida. At käsuga käivitadu tööd jäävad tööde järjekorda ka peale kasutaja väljalogimist alles. | |||
=== Täiendavad aja formaadid '''At''' käsule=== | |||
At võimaldab kasutada mitmesuguseid aja formaate. | |||
'''Mõned Näited''' | |||
at 10 am tomorrow | |||
at 11:00 next month | |||
at 22:00 today | |||
at now + 1 week | |||
at noon | |||
Täiendavat infot, milliseid ajaformaate '''At''' käsk võimaldab, saab lugeda failist: | |||
/usr/share/doc/at/timespec | |||
== Võtmed == | |||
-V kuvab versiooni | |||
-q <töötähis> kuvada töötähise alusel. Töötähis võib olla täht a-z või "=" võrdus märk | |||
a - at | |||
b - batch | |||
= - hetkel käivitatud tööd | |||
z - tähestiku teised tähendavad seda, et töö on väiksema prioriteediga "increased niceness" [http://en.wikipedia.org/wiki/Nice_(Unix)] | |||
'''atq -q <töötähis> Näide:''' | |||
'''root@server:~#''' atq -q a | |||
41 Tue Dec 17 23:43:00 2013 a root | |||
38 Tue Dec 17 20:36:00 2013 a root | |||
40 Tue Dec 17 20:43:00 2013 a root | |||
-m e-kirja saatmine kasutajale, kui töö lõpetab, isegi juhul kui väljundit pole | |||
-f file Töö lugemine failist | |||
-t time Käivita töö, mis antud kujul: [[CC]YY]MMDDhhmm[.ss] | |||
-l atq alias | |||
-r atrm alias | |||
-d atrm alias | |||
-b batch alias | |||
-v Kuvab, töö sisselugemisel, millal töö käivitatakse. | |||
-c Süsteemi muutujate väärtused, mis olid töö sisestamise hetkel ja töö sisu. | |||
== Kokkuvõte == | |||
At võimaldab sättida töid hilisemal ajale või kui süsteemi koormus jääb alla teatud piiri. | |||
See on kasulik kuna nii ei pea administraator koguaeg arvuti juures viibima ja saab planeerida/hajutada töid. | |||
At käsuga õppimise käigus, sain ka parema arusaama süsteemi koormuse(load) ja nohup kohta ning tuvutsin põgusalt cron käsuga. | |||
== Kasutatud kirjandus == | == Kasutatud kirjandus == | ||
1 [https://wiki.itcollege.ee/index.php/Load_average ITK wiki: Mõisted load, load average] | |||
2 [http://www.tutorialspoint.com/unix_commands/atrun.htm Mis on atrun] | |||
http://www. | 3 [http://www.softpanorama.org/Utilities/at.shtml at ja cron erinevus] | ||
http://www. | 4 [http://en.wikipedia.org/wiki/At_%28Unix%29 at ja cron erinevus] | ||
http:// | 5 [http://www.thegeekstuff.com/2010/06/at-atq-atrm-batch-command-examples/ Artikkel, mille alusel struktueerisin oma näited] | ||
http://www.thegeekstuff.com/2010/06/at-atq-atrm-batch-command-examples/ | 6 [http://linux.101hacks.com/unix/nohup-command/ nohup käsu kohta] | ||
http://en.wikipedia.org/wiki/ | 7 [http://en.wikipedia.org/wiki/Nice_(Unix) increased niceness tähendus Unix maailmas ] | ||
http:// | 8 man at | ||
9 [http://youtu.be/cDy9kX0Lw7U Youtube video: Linux Batch and At Utilities Lisamaterjal, 10 min video koos näidetega. Selgitab at/batch käsu erinevust] | |||
== Autor == | == Autor == | ||
Paul Are AK31, 2013 | Paul Are AK31, 2013 |
Latest revision as of 16:19, 6 January 2014
Sissejuhatus
Wiki näited käivad at version 3.1.13 kohta.
Näidetes kasutatud käskude ees on prompt root@server:~#, seda pole vaja sisestada.
Näidete väljundite eristamiseks kasutatud taanet.
at | At, koondab sisestatud käsud ühte at-job-i, mis käivitatakse hiljem. |
atq | tavakasutaja korral loendab kasutaja ootel olevad tööd superuseri korral loendab kõikide kasutajate ootel olevad tööd |
atrm | kustutab töid, mille töönumber on täpsustatud |
batch | käivitab käsu kohe kui süsteemi load(koormatus) [1] seda lubab, kui koormus langeb alla 0.8, või täpsustatud väärtuse atrun [2] käsuga |
At ja Cron erinevus
- At-job pärib oma keskkonna, st. käivitatakse hetkel on töökataloog ja keskkonnamuutujad sellised nagu olid töö sisestamisel
Cron (käivitab oma töö "cron" keskkonnas) [3] - At on korraliseks, kuid cron kui mingit käsku vaja käivitada korduvalt. [4]
Kasutamine ja näited
Struktueerisin allpool kirjeldatud näited artikli "Understand at, atq, atrm, batch Commands using 9 Examples" [5] eeskujul
Töö käivitamine kindlaksmääratud kuupäeval ja ajal
at
root@server:~# at -v 23:55 16 dec Mon Dec 16 23:55:00 2013 warning: commands will be executed using /bin/sh at> rm *.txt at> uptime>>uptime.at.txt at> ps -axu>>ps.at.txt at> <EOT>
Selgitus: * -v võti kuvas AT käsu käivitamise aja: Mon Dec 16 23:55:00 2013 * näite at skripti sisu: * eemaldab kõik kaustas asuvad .txt laiendiga failid * suunab uptime faili uptime.at.txt lõppu * suunab protsesside nimekirja faili ps.at.txt lõppu * <EOT> (ehk at skripti kirjutamise lõpetamine/väljumine, Ctrl+D käsuga)
Töö käivitamine kasutades suhtelist aega (N: nüüd + 10 minutit)
at <suhteline_aeg> + <ajahulk> <ühik> (+ kui palju antud ajahetkest hiljem) at <suhteline_aeg> - <ajahulk> <ühik> (- kui palju antud ajahetkest varem) at now + 1 min at now + 1 hour at now + 1 day at tomorrow - 2 hour
Näide: root@server:~# date Tue Dec 17 00:37:00 EET 2013 root@server:~# at -v tomorrow - 4 hour Tue Dec 17 20:37:00 2013 warning: commands will be executed using /bin/sh at> uptime>>uptime.at.txt at> <EOT>
Selgitus: * date, et demonstreerida käsu käivitamise aega (võrdle AT käivitamise ajaga) * -v võti kuvas AT käsu käivitamise aja: Tue Dec 17 20:37:00 2013 * näite at skripti sisu: * suunab uptime faili uptime.at.txt lõppu * <EOT> (ehk at skripti kirjutamise lõpetamine/väljumine, Ctrl+D käsuga)
Käivitamiseks määratud tööde nimekirja kuvamine käsuga atq
atq at -l (alias käsule atq)
Näide: root@server:~# atq 41 Tue Dec 17 23:43:00 2013 a root 42 Tue Dec 17 02:55:00 2013 a student 38 Tue Dec 17 20:36:00 2013 a root 39 Tue Dec 17 20:37:00 2013 a root 37 Tue Dec 17 22:33:00 2013 a root 40 Tue Dec 17 20:43:00 2013 a root
Selgitus: * <töö number> <protsessi käivitamise kuupäev> <töötähise täht a-z või = "võrdus" märk> <mis kasutaja käivitab>
Käivitamiseks määratud tööde eemaldamine/kustutamine käsuga atrm
atrm <töö number> at -d <töö number> (alias käsule atrm)
Näide: root@server:~# atrm 42 root@server:~# atq 41 Tue Dec 17 23:43:00 2013 a root 38 Tue Dec 17 20:36:00 2013 a root 39 Tue Dec 17 20:37:00 2013 a root 37 Tue Dec 17 22:33:00 2013 a root 40 Tue Dec 17 20:43:00 2013 a root
Selgitus: * Eemaldab eelmises näites loetelus olnud töö nr 42
Käivitamine, kui koormus on madalam kui < 1.5 käsuga batch
batch
Näide: student@server:~$ batch --help batch accepts no parameters student@server:~$ batch warning: commands will be executed using /bin/sh at> uptime>>uptime.batch.txt at> <EOT> job 44 at Tue Dec 17 20:39:00 2013 student@server:~$ ls uptime.batch.txt student@server:~$ less uptime.batch.txt 20:39:52 up 12 min, 1 user, load average: 0.00, 0.02, 0.05 uptime.batch.txt (END)
Selgitus: * Batch käsk ei aksepteeri mingeid parameetreid, kuna töö käivitamine sõltub ainult süsteemi koormusest. * Batch käsu sisestamisel on näha, et loodi töö numbriga 44. * Kuna süsteemi load oli alla 1.5 siis käivitati batch skript peale sisselugemist koheselt.
Tööde käivitamine failist kasutades -f võtit
at -f <faili_nimi> <käivitamise aeg>
Näide: tööd.txt sisu: fortune|cowsay>>TööFailistNäide.txt uptime>>TööFailistNäide.txt
student@server:~$ at -f tööd.txt now + 2 min warning: commands will be executed using /bin/sh job 45 at Tue Dec 17 21:39:00 2013
/ Few things are harder to put up with \ | than the annoyance of a good example. | | | | -- "Mark Twain, Pudd'nhead Wilson's | \ Calendar" / --------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || 21:39:00 up 1:11, 1 user, load average: 0.00, 0.01, 0.05
At käsu kasutamise lubamine/piiramine teatud kasutajatele
/etc/at.allow /etc/at.deny
Kasutades at.allow ja at.deny faile saab administraator hallata, kes saavad kasutada at käsku.
Kõigepealt süsteem kontrollib at.allow faili olemasolu. Juhul kui fail eksisteerib siis ainult kasutajatunnused kirjeldatud at.allow failis võivad kasutada at käsku.
Järgmisena kontrollitakse at.deny faili. Kui at.deny eksisteerib, siis selles failis kirjeldatud kasutatele ei lubata kasutada at käsku.
Kui kumbagi faili ei eksisteeri, siis ainult superuser saab käsku kasutada. (tõlge: man at)
At käsu käivitamine nohup reziimis
[6] Peale at käsu käivitamist võib välja logida. At käsuga käivitadu tööd jäävad tööde järjekorda ka peale kasutaja väljalogimist alles.
Täiendavad aja formaadid At käsule
At võimaldab kasutada mitmesuguseid aja formaate.
Mõned Näited at 10 am tomorrow at 11:00 next month at 22:00 today at now + 1 week at noon
Täiendavat infot, milliseid ajaformaate At käsk võimaldab, saab lugeda failist:
/usr/share/doc/at/timespec
Võtmed
-V kuvab versiooni
-q <töötähis> kuvada töötähise alusel. Töötähis võib olla täht a-z või "=" võrdus märk a - at b - batch = - hetkel käivitatud tööd z - tähestiku teised tähendavad seda, et töö on väiksema prioriteediga "increased niceness" [7] atq -q <töötähis> Näide: root@server:~# atq -q a 41 Tue Dec 17 23:43:00 2013 a root 38 Tue Dec 17 20:36:00 2013 a root 40 Tue Dec 17 20:43:00 2013 a root
-m e-kirja saatmine kasutajale, kui töö lõpetab, isegi juhul kui väljundit pole -f file Töö lugemine failist -t time Käivita töö, mis antud kujul: [[CC]YY]MMDDhhmm[.ss] -l atq alias -r atrm alias -d atrm alias -b batch alias -v Kuvab, töö sisselugemisel, millal töö käivitatakse. -c Süsteemi muutujate väärtused, mis olid töö sisestamise hetkel ja töö sisu.
Kokkuvõte
At võimaldab sättida töid hilisemal ajale või kui süsteemi koormus jääb alla teatud piiri. See on kasulik kuna nii ei pea administraator koguaeg arvuti juures viibima ja saab planeerida/hajutada töid. At käsuga õppimise käigus, sain ka parema arusaama süsteemi koormuse(load) ja nohup kohta ning tuvutsin põgusalt cron käsuga.
Kasutatud kirjandus
1 ITK wiki: Mõisted load, load average 2 Mis on atrun 3 at ja cron erinevus 4 at ja cron erinevus 5 Artikkel, mille alusel struktueerisin oma näited 6 nohup käsu kohta 7 increased niceness tähendus Unix maailmas 8 man at 9 Youtube video: Linux Batch and At Utilities Lisamaterjal, 10 min video koos näidetega. Selgitab at/batch käsu erinevust
Autor
Paul Are AK31, 2013