This is an old revision of the document!
Pentru a vedea configurația cron
a sistemului inspectăm configurațiile din fișierele/directoarele /etc/cron*
. Fișierele /etc/cron.d/*
și fișierul /etc/crontab
conțin configurații standard cron
la nivelul sistemului. Liniile de configurare urmează sintaxa crontab așa cum este exemplificată aici.
Pentru a vedea configurația pentru utilizatorul curent folosim comanda
crontab -l
Dacă suntem autentificați ca utilizator privilegiat, putem vizualiza configurația cron
pentru un utilizator dat putem folosi comanda
crontab -u <username> -l
unde <username>
este numele utilizatorului a cărui configurație dorim să o afișăm.
Pentru a afla job-urile cron active per utilizator putem inspecta, ca utilizator privilegiat, directorul de spooling /var/spool/cron/
sudo tree /var/spool/cron/
În subdirectorul /var/spool/cron/crontabs/
se găsesc job-urile cron active (marcate per utilizator).
Dacă dorim să avem un job care să ruleze periodic vom crea o intrare în crontab-ul utilizatorului curent.
Următorul exercițiu este didactic, ca să putem urmări comportamentul cron
.
Comanda de mai jos este folosită pentru a afișa numărul de procese și thread-uri curente la nivelul sistemului:
/bin/echo "Num processes: $(ps -e --no-header | wc -l), num threads: $(ps -eL --no-header | wc -l)"
Folosim calea completă către comanda echo
pentru că nu știm cum arată variabila PATH
în mediul în care rulează cron
.
Adăugați comanda de mai sus să ruleze la fiecare două minute prin alterarea crontab-ului utilizatorului student
. După adăugare urmăriți spool-ul cron în /var/spool/cron/crontabs/student
.
În urma funcționării corecte, veți primi un e-mail către utilizatorul student
cu output-ul comenzii.
mail
.
student
urmăriți indicațiile de aici.
Pentru a vedea configurația cron
a sistemului inspectăm configurațiile din fișierele/directoarele /etc/cron*
. Fișierele /etc/cron.d/*
și fișierul /etc/crontab
conțin configurații standard cron
la nivelul sistemului. Liniile de configurare urmează sintaxa crontab așa cum este exemplificată aici.
Pentru a vedea configurația pentru utilizatorul curent folosim comanda
crontab -l
Dacă suntem autentificați ca utilizator privilegiat, putem vizualiza configurația cron
pentru un utilizator dat putem folosi comanda
crontab -u <username> -l
unde <username>
este numele utilizatorului a cărui configurație dorim să o afișăm.
Pentru a afla job-urile cron active per utilizator putem inspecta, ca utilizator privilegiat, directorul de spooling /var/spool/cron/
sudo tree /var/spool/cron/
În subdirectorul /var/spool/cron/crontabs/
se găsesc job-urile cron active (marcate per utilizator).
Dacă dorim să avem un job care să ruleze periodic vom crea o intrare în crontab-ul utilizatorului curent.
Următorul exercițiu este didactic, ca să putem urmări comportamentul cron
.
Comanda de mai jos este folosită pentru a afișa numărul de procese și thread-uri curente la nivelul sistemului:
/bin/echo "Num processes: $(ps -e --no-header | wc -l), num threads: $(ps -eL --no-header | wc -l)"
Folosim calea completă către comanda echo
pentru că nu știm cum arată variabila PATH
în mediul în care rulează cron
.
Adăugați comanda de mai sus să ruleze la fiecare două minute prin alterarea crontab-ului utilizatorului student
. După adăugare urmăriți spool-ul cron în /var/spool/cron/crontabs/student
.
În urma funcționării corecte, veți primi un e-mail către utilizatorul student
cu output-ul comenzii.
mail
.
student
urmăriți indicațiile de aici.
Actualizați comanda cron
de mai sus astfel încât output-ul comenzii să nu mai fie livrat prin e-mail ci să fie adăugat într-un fișier dat. Output-ul să conțină și data la care a fost rulată comanda.
Instalați pachetul debsums
. Urmăriți ce configurări de cron sunt adăugate la instalarea pachetului.
dpkg -L <nume-pachet>
unde <nume-pachet>
este numele pachetului.
Instalați un client de Bittorrent care funcționează în linia de comandă, precum transmission-cli
sau bittorrent
sau bittornado
și porniți-l în background (folosind nohup
) ca să descarce un anumit conținut Bittorrent. Găsiți un fișier .torrrent
pe Internet și descărcați-l.
Apoi creați un script care să verifice dacă este pornit clientul Bittorrent pentru acel fișier .torrent
și dacă nu este pornit să-l repornească.
Plasați script-ul în crontab cu verificare la 10 minute.
Folosiți supervisord pentru a porni și gestiona clientul BitTorrent de mai sus.
Pentru a verifica funcționarea NTP (Network Time Protocol) o soluție este instalarea utilitarului ntpdate
. Dacă nu-l aveți instalat, instalați-l folosind comanda
sudo apt-get install ntpdate
Aveți două utilitare pe care le puteți folosi interschimbabil pentru actualizarea timpului sistemului: ntpdate
care primește ca argument un server NTP, și nptdate-debian
care folosește serverele configurate în /etc/default/ntpdate
(directiva NTPSERVERS
).
Instalați, dacă nu este instalat serverul NTP
prin intermediul pachetului ntp
. Serverul va porni automat și veți putea verifica faptul că ascultă conexiuni pe portul 123
UDP folosind comanda
sudo netstat -ulpn
Discutați cu 2-3 colegi și aflați adrese IP stațiilor pe care aceștia lucrează și adăugați configurare pentru serverul NTP în fișierul /etc/ntp.conf
. După un timp se va crea un mesh de comunicare între serverele NTP din sala de laborator.
ntpq -p ntpq -pn
Clientul de DHCP este reprezentat în Linux de comanda dhclient
. La o rulare a comenzii dhclient
este interogat serverul DHCP pentru transmiterea unei adrese.
Pentru a testa această funcționalitate, vom dezactiva configurația curentă și apoi vom face o nouă configurație.
Pentru dezactivare identificăm interfața activă prin rularea comenzii
ip a s
Interfața activă este cea care are adresa IP din rețeaua 172.16.4.0/24
.
Apoi dezactivăm configurația interfeței:
sudo ip a f dev <interface>
unde <interface>
este numele interfeței.
Apoi solicităm o nouă adresă IP pentru interfață folosind comanda
sudo dhclient <interface>
unde <interface>
este numele interfeței.
Putem urmări în /var/log/syslog
mesajele afișate de clientul DHCP
.
Dacă dorim să dăm release la configurație, putem folosi comanda
sudo dhclient -r <interace>
unde <interface>
este numele interfeței.