Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gsr:laboratoare:laborator-02 [2016/10/19 17:01]
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 212: Line 214:
 </​note>​ </​note>​
  
 +===== 05. Jurnalizare =====
 +
 +==== a) Investigare configuratie syslog ====
 +
 +Pe mașina virtulă verificați dacă daemonul de syslog este instalat (Hint: rsyslog).
 +<​code>​
 +root@heimdall:​~#​ apt-get install rsyslog
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +rsyslog is already the newest version.
 +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 +</​code>​
 +
 +==== 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''​
 +<​code>​
 +root@heimdall:​~#​ tail -n 1 /​etc/​rsyslog.conf
 +*.* -/​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).
 +</​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''​.
 +<​code>​
 +root@heimdall:​~#​ /​etc/​init.d/​rsyslog restart
 +Stopping enhanced syslogd: rsyslogd.
 +Starting enhanced syslogd: rsyslogd.
 +
 +root@heimdall:​~#​ tail /​var/​log/​all_logs ​
 +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
 +</​code>​
 +
 +==== 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''​.
 +<​code>​
 +root@heimdall:​~#​ logger -p mail.info "mail log 1"
 +
 +root@heimdall:​~#​ logger -p mail.info "mail log 2"
 +
 +root@heimdall:​~#​ logger -p mail.info "mail log 3"
 +
 +root@heimdall:​~#​ logger -p mail.info "mail log 4"
 +
 +root@heimdall:​~#​ logger -p mail.info "mail log 5"
 +
 +root@heimdall:​~#​ tail /​var/​log/​all_logs ​
 +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:36:55 heimdall root: mail log 1
 +Nov  9 15:36:57 heimdall root: mail log 2
 +Nov  9 15:36:58 heimdall root: mail log 3
 +Nov  9 15:36:59 heimdall root: mail log 4
 +Nov  9 15:37:00 heimdall root: mail log 5
 +</​code>​
 +
 +==== 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''​)
 +<​code>​
 +root@heimdall:​~#​ tail -n 8 /​etc/​logrotate.conf
 +/​var/​log/​all_logs {
 + missingok
 + daily
 + create 0660 root utmp
 + compress
 + rotate 10
 + mail sysadmin@gsr.cs.pub.ro
 +}
 +</​code>​
 /* /*
  
gsr/laboratoare/laborator-02.1476885695.txt.gz · Last modified: 2016/10/19 17:01 by alexandru.carp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0