Unul dintre obiectivele examenului RHCSA este programarea sarcinilor folosind comenzile at
și cron
. Dacă despre cron am mai scris aici, at reprezintă ceva nou pentru mulți.
1. Scrieți o comandă care să afișeze în loguri informații actualizate despre timpul de funcționare al sistemului.
# yum install at # systemctl start atd; systemctl enable atd # at now +5 minute at> logger "Timpul de functionare curent al sistemului este $(uptime)"
Se iese cu combinața de taste CTRL+D. Pentru a verifica joburile curente introduse prin comanda at
se folosește comanda atq
:
# atq 1 Sat May 4 02:14:00 2019 a root
Peste 5 minute verificați logurile din journalctl și veți vedea:
# journalctl -lf
May 04 02:14:00 localhost.localdomain root[4181]: Timpul de functionare curent al sistemului este 02:14:00 up 7 min, 1 user, load average: 0.04, 0.07, 0.05
2. Scrieți o comandă care să facă actualizarea sistemului la miezul nopții.
# at midnight at> yum -y upgrade at> <EOT> job 3 at Sun May 5 00:00:00 2019 # atq 3 Sun May 5 00:00:00 2019 a root
Pentru a vedea formatul de timp acceptat de at (teatime, midnight, +1 minute, etc.), consultați pagina manualului comenzii at
: man at.
3. Scrieți un script folosind comanda de la punctul 1. Scriptul va fi salvat în directorul home al userului root.
# vi uptimelog.sh #! /bin/bash logger "Timpul de functionare curent al sistemului este $(uptime)"
Acest script va fi făcut executabil:
# chmod +x /root/uptimelog.sh
4. Programați un anacronjob astfel încât acest script să ruleze la fiecare 5 zile. Asigurați-vă că numele jobului va fi uptimelog. Plasați intrarea în fața celorlalte intrări, astfel încât jobul să ruleze primul.
# vim /etc/anacrontab 5 0 uptimelog /root/uptimelog.sh
5. Rulați toate joburile anacron indiferent de când au fost rulate ultima dată.
# anacron -f
6. Vizualizați timestamp-ul pentru jobul vostru uptimelog.
# cat /var/spool/anacron/uptimelog
7. Utilizând scriptul uptimelog.sh, programați un job astfel încât acesta să ruleze o dată pe zi (folosiți cron).
# cp /root/uptimelog.sh /etc/cron.daily
8. Creați o sarcină cron pentru userul Ted (existent în sistem) care să ruleze comanda echo salutare la ora 22:43.
# yum install cronie # systemctl start crond; systemctl enable crond # crontab -eu ted 43 22 * * * /bin/echo salutare
Se face verificarea:
# crontab -lu ted
Recomand recitirea paginilor de manual pentru at, cron și anacron, astfel încât să știți foarte bine cum se face programarea sarcinilor în Linux.
Lasă un răspuns