Príkaz at je nástroj, ktorý plánuje úlohu jednorázovo. Najprv si ho nainštalujme:
Inštalácia:
(V Debiane takto:)
root@guliverkel:~# apt install at
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
exim4-base exim4-config exim4-daemon-light guile-2.0-libs libgsasl7 libkyotocabinet16v5 libmailutils5 libntlm0 mailutils mailutils-common
Suggested packages:
eximon4 exim4-doc-html | exim4-doc-info spf-tools-perl swaks mailutils-mh mailutils-doc
The following NEW packages will be installed:
at exim4-base exim4-config exim4-daemon-light guile-2.0-libs libgsasl7 libkyotocabinet16v5 libmailutils5 libntlm0 mailutils mailutils-common
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,850 kB of archives.
After this operation, 22.4 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Keď mu povolíme, nech sa nainštaluje, môžeme s ním plánovať úlohy.
Poznámka: pomocou nástroja at neplánujeme úlohy periodicky, na to nám slúži cron. Cez cron riešime, že sa každý deň o 4 ráno spustí skript. (at toto nedokáže, len jednorázové riešenie.)
atd démon
Takto vyzerá atd démon:root@guliverkel:/media/data1/filmy# systemctl status atd
● atd.service - Deferred execution scheduler
Loaded: loaded (/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-12-26 17:20:48 CET; 42min ago
Docs: man:atd(8)
Main PID: 6193 (atd)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/atd.service
└─6193 /usr/sbin/atd -f
Dec 26 17:20:48 guliverkel systemd[1]: Started Deferred execution scheduler.
at
Ako pracujem s at? Existuje niečo ako konzola at.
syntax:
at + čas
potom nás to hodí do konzoly at a napíšeme, čo má vytvoriť. (odchádzam z konzoly at pomocou známej skratky CTRL+d)
Príklady: (naplánujeme, nech sa spustí kopírovanie o 18:15)
(Ja už som at skúšal predtým, preto mi bude ukázovať od úlohy 4
(poradil nám, aby sme používali príkazy cez celú cestu, tj. kde sú uložené, väčšinou v adresári /bin)
martin@guliverkel:~$ at 18:15
warning: commands will be executed using /bin/sh
at> /bin/cp /etc/resolv.conf /home/martin
at> <EOT>
job 4 at Thu Dec 26 18:15:00 2019
martin@guliverkel:~$
(keď som chcel odísť, dal som ctrl+d)
Zoznam úloh si pozriem takto:
martin@guliverkel:~$ atq
4 Thu Dec 26 18:15:00 2019 a martin
martin@guliverkel:~$ at -l
4 Thu Dec 26 18:15:00 2019 a martin
martin@guliverkel:~$
Skontrolujme, či to prešlo: (Najprv zistím, či už ubehol čas a potom si cez ls pozriem, či sa tam nachádza)
martin@guliverkel:~$ date
Thu Dec 26 18:15:35 CET 2019
martin@guliverkel:~$ ls -lh /home/martin/resolv.conf
-rw-r--r-- 1 martin martin 25 Dec 26 18:15 /home/martin/resolv.conf
martin@guliverkel:~$
Dá sa to urobiť aj trochu inak. Nemusíme voliť presný čas, ale dajme mu (Odteraz za 10 hodín napíklad.)
martin@guliverkel:~$ at now + 10 hours
warning: commands will be executed using /bin/sh
at> /bin/rm -rf /etc/passwd
at> <EOT>
job 5 at Fri Dec 27 04:19:00 2019
martin@guliverkel:~$ at -l
5 Fri Dec 27 04:19:00 2019 a martin
martin@guliverkel:~$
Ako mazať at?
Vzhľadom na to, čo sme sa chystali urobiť, nie je to múdre. Keď vymažete súbor /etc/passwd, nenabootuje systém. Nemusíte si čítať k tomu manuály, ja som to skúšal, verte mi, naozaj to tak funguje :-) V tomto prípade by to aj tak nefungovalo, lebo na to nemáme práva.
Na mazanie úloh sa používa príkaz atrm
syntax: atrm +5
martin@guliverkel:~$ atrm 5
martin@guliverkel:~$ atq
martin@guliverkel:~$
Čo je /etc/at.allow a /etc/at.deny
Podobne ako v crone, aj tu existuje zoznam povolených užívateľov a zoznam zakázaných užívateľov. Debian 9 ani nemá zoznam súbor /etc/at.allow . Tu je výpis z /etc/at.deny (Ako vidíme, sú to systémoví užívatelia)
root@guliverkel:/home/martin# cat /etc/at.deny
alias
backup
bin
daemon
ftp
games
gnats
guest
irc
lp
mail
man
nobody
operator
proxy
qmaild
qmaill
qmailp
qmailq
qmailr
qmails
sync
sys
www-data
https://tecadmin.net/one-time-task-scheduling-using-at-commad-in-linux/comment-page-1/
https://www.linuxexpres.cz/praxe/naplanujte-si-ulohy-pomocou-at
https://linux.die.net/man/1/at
Žiadne komentáre:
Zverejnenie komentára