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> | 
| /* | /* | ||