This shows you the differences between two versions of the page.
gsr:laboratoare:laborator-02 [2016/10/19 17:16] alexandru.carp |
gsr:laboratoare:laborator-02 [2016/10/20 21:05] (current) alexandru.carp [b) Reguli de jurnalizare] |
||
---|---|---|---|
Line 74: | Line 74: | ||
Pentru a detașa un proces de un terminal se folosesc comenzi precum ''nohup'', ''dtach'' și ''disown''. | Pentru a detașa un proces de un terminal se folosesc comenzi precum ''nohup'', ''dtach'' și ''disown''. | ||
- | Folosiți comanda ''wget'' pentru a descărca fișierul ''.torrent'' de [[http://cdimage.debian.org/debian-cd/8.2.0/i386/bt-cd/debian-mac-8.2.0-i386-netinst.iso.torrent|aici]]. | + | Folosiți comanda ''wget'' pentru a descărca fișierul ''.torrent'' de [[http://cdimage.debian.org/debian-cd/8.6.0/amd64/bt-cd/debian-8.6.0-amd64-netinst.iso.torrent|aici]]. |
==== b) disown ==== | ==== b) disown ==== | ||
Line 105: | Line 105: | ||
==== a) Demo: Inspectarea configurației cron ==== | ==== a) Demo: Inspectarea configurației cron ==== | ||
+ | /* | ||
<note> | <note> | ||
Pentru task-urile de ''cron'', folositi masina virtuala din ''/mnt/sda5/gsr/'' | Pentru task-urile de ''cron'', folositi masina virtuala din ''/mnt/sda5/gsr/'' | ||
</note> | </note> | ||
+ | */ | ||
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ă [[http://techie-experience.blogspot.ro/2012/10/crontab.html|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ă [[http://techie-experience.blogspot.ro/2012/10/crontab.html|aici]]. | ||
Line 128: | Line 130: | ||
==== b) Configurare cron cu standard output ==== | ==== b) Configurare cron cu standard output ==== | ||
- | Dacă dorim să avem un job care să ruleze periodic vom crea o intrare în crontab-ul utilizatorului curent. | + | Dacă dorim să avem un job care să ruleze periodic vom crea o intrare în crontab-ul utilizatorului ''root''. |
Următorul exercițiu este didactic, ca să putem urmări comportamentul ''cron''. | Următorul exercițiu este didactic, ca să putem urmări comportamentul ''cron''. | ||
Line 138: | Line 140: | ||
Folosim calea completă către comanda ''echo'' pentru că nu știm cum arată variabila ''PATH'' în mediul în care rulează ''cron''. | 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''. | + | Adăugați comanda de mai sus să ruleze la fiecare două minute prin alterarea crontab-ului utilizatorului ''root''. După adăugare urmăriți spool-ul cron în ''/var/spool/cron/crontabs/root''. |
- | În urma funcționării corecte, veți primi un e-mail către utilizatorul ''student'' cu output-ul comenzii. | + | În urma funcționării corecte, veți vedea o intrare in ''/var/log/syslog'' care arata ca a fost executata comanda. |
<note tip> | <note tip> | ||
- | Puteți verifica e-mail-ul primit inspecand directorul ''Maildir/new/'' | + | Dupa ce configurati regulile de cron, restartati serviciul ''cron''. |
</note> | </note> | ||
<note tip> | <note tip> | ||
- | Pentru crearea intrării în crontab-ul utilizatorului ''student'' urmăriți indicațiile de [[http://techie-experience.blogspot.ro/2012/10/crontab.html|aici]]. | + | Pentru crearea intrării în crontab-ul utilizatorului ''root'' urmăriți indicațiile de [[http://techie-experience.blogspot.ro/2012/10/crontab.html|aici]]. |
</note> | </note> | ||
==== c) Alte configurări cron ==== | ==== c) Alte configurări cron ==== | ||
- | 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. | + | Actualizați comanda din ''cron'' de mai sus astfel încât output-ul comenzii 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. | Instalați pachetul ''debsums''. Urmăriți ce configurări de cron sunt adăugate la instalarea pachetului. | ||
Line 217: | Line 219: | ||
Pe mașina virtulă verificați dacă daemonul de syslog este instalat (Hint: rsyslog). | Pe mașina virtulă verificați dacă daemonul de syslog este instalat (Hint: rsyslog). | ||
- | <solution -hidden -en><code> | + | <code> |
root@heimdall:~# apt-get install rsyslog | root@heimdall:~# apt-get install rsyslog | ||
Reading package lists... Done | Reading package lists... Done | ||
Line 224: | Line 226: | ||
rsyslog is already the newest version. | rsyslog is already the newest version. | ||
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | ||
- | </code></solution> | + | </code> |
==== b) Reguli de jurnalizare ==== | ==== b) Reguli de jurnalizare ==== | ||
Adaugati în ''/etc/rsyslog.conf'' o intrare prin care TOATE mesajele din sistem sa fie înregistrate în ''/var/log/all_logs'' | Adaugati în ''/etc/rsyslog.conf'' o intrare prin care TOATE mesajele din sistem sa fie înregistrate în ''/var/log/all_logs'' | ||
- | <solution -hidden -en><code> | + | <code> |
root@heimdall:~# tail -n 1 /etc/rsyslog.conf | root@heimdall:~# tail -n 1 /etc/rsyslog.conf | ||
- | ** -/var/log/all_logs | + | *.* -/var/log/all_logs |
Se adauga un minus (-) pentru a se evita sincronizarea fisierului dupa fiecare mesaj syslog (fiind vorba despre toate mesajele din sistem). | Se adauga un minus (-) pentru a se evita sincronizarea fisierului dupa fiecare mesaj syslog (fiind vorba despre toate mesajele din sistem). | ||
- | </code></solution> | + | </code> |
+ | |||
+ | Creati fisierul ''/var/log/all_logs'', apoi configurati owner-ul ca fiind user-ul sub care ruleaza ''rsyslog'': | ||
+ | <code> | ||
+ | # touch /var/log/all_logs | ||
+ | # chown syslog:adm /var/log/all_logs | ||
+ | </code> | ||
Reporniți daemonul ''rsyslog'' și verificați conținutul fișierului ''/var/log/all_logs''. | Reporniți daemonul ''rsyslog'' și verificați conținutul fișierului ''/var/log/all_logs''. | ||
- | <solution -hidden -en><code> | + | <code> |
root@heimdall:~# /etc/init.d/rsyslog restart | root@heimdall:~# /etc/init.d/rsyslog restart | ||
Stopping enhanced syslogd: rsyslogd. | Stopping enhanced syslogd: rsyslogd. | ||
Line 245: | Line 253: | ||
Nov 9 15:34:04 heimdall kernel: imklog 5.8.5, log source = /proc/kmsg started. | Nov 9 15:34:04 heimdall kernel: imklog 5.8.5, log source = /proc/kmsg started. | ||
Nov 9 15:34:04 heimdall rsyslogd: [origin software="rsyslogd" swVersion="5.8.5" x-pid="2604" x-info="http://www.rsyslog.com"] start | Nov 9 15:34:04 heimdall rsyslogd: [origin software="rsyslogd" swVersion="5.8.5" x-pid="2604" x-info="http://www.rsyslog.com"] start | ||
- | </code></solution> | + | </code> |
==== c) Generate mesaje cu logger ==== | ==== c) Generate mesaje cu logger ==== | ||
Folosind comanda ''logger'', generați 5 mesaje de log cu facilitatea mail și cu proritatea info, care să conțină textele "mail log 1" ... "mail log 5". Verificați prezența mesajelor în ''/var/log/all_logs''. | Folosind comanda ''logger'', generați 5 mesaje de log cu facilitatea mail și cu proritatea info, care să conțină textele "mail log 1" ... "mail log 5". Verificați prezența mesajelor în ''/var/log/all_logs''. | ||
- | <solution -hidden -en><code> | + | <code> |
root@heimdall:~# logger -p mail.info "mail log 1" | root@heimdall:~# logger -p mail.info "mail log 1" | ||
Line 269: | Line 277: | ||
Nov 9 15:36:59 heimdall root: mail log 4 | Nov 9 15:36:59 heimdall root: mail log 4 | ||
Nov 9 15:37:00 heimdall root: mail log 5 | Nov 9 15:37:00 heimdall root: mail log 5 | ||
- | </code></solution> | + | </code> |
==== d) Rotirea fisierelor de log ==== | ==== d) Rotirea fisierelor de log ==== | ||
Modificați ''/etc/logrotate.conf'' astfel încat fisierul ''/var/log/all_logs'' să fie rotit zilnic, folosind până la maxim 10 fișiere, fișire care să fie comprimate. Logurile trebuie să fie trimiste pe email la sysadmin@gsr.cs.pub.ro. (Hint: ''man logrotate'') | Modificați ''/etc/logrotate.conf'' astfel încat fisierul ''/var/log/all_logs'' să fie rotit zilnic, folosind până la maxim 10 fișiere, fișire care să fie comprimate. Logurile trebuie să fie trimiste pe email la sysadmin@gsr.cs.pub.ro. (Hint: ''man logrotate'') | ||
- | <solution -hidden -en><code> | + | <code> |
root@heimdall:~# tail -n 8 /etc/logrotate.conf | root@heimdall:~# tail -n 8 /etc/logrotate.conf | ||
/var/log/all_logs { | /var/log/all_logs { | ||
Line 284: | Line 292: | ||
mail sysadmin@gsr.cs.pub.ro | mail sysadmin@gsr.cs.pub.ro | ||
} | } | ||
- | </code></solution> | + | </code> |
/* | /* | ||