{"id":7794,"date":"2018-11-24T22:00:05","date_gmt":"2018-11-24T21:00:05","guid":{"rendered":"https:\/\/www.newstechnology.eu\/it\/?p=7794"},"modified":"2018-11-24T12:14:23","modified_gmt":"2018-11-24T11:14:23","slug":"shell-script-con-generazione-messaggi-di-log-in-linux","status":"publish","type":"post","link":"https:\/\/www.newstechnology.eu\/it\/software\/sistemi-operativi\/linux\/shell-script-con-generazione-messaggi-di-log-in-linux.html","title":{"rendered":"Shell Script Con Generazione Messaggi di Log in Linux"},"content":{"rendered":"<p>Il <a href=\"https:\/\/it.wikipedia.org\/wiki\/Log\">significato di log in informatica<\/a> prende spunto dal termine <em>logbook<\/em> (giornale di bordo) come bene riportano i wiki.<\/p>\n<p>Per questo gli informatici hanno scelto il termine log per rappresentare una sorta di <strong>diario o registro dei vari processi<\/strong> che girano nel sistema. La registrazione dei logs \u00e8 talmente importante che appena sorge un problema \u00e8 la prima cosa che si vanno a visualizzare nel sistema operativo.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7799\" src=\"https:\/\/www.newstechnology.eu\/it\/wp-content\/uploads\/2018\/11\/Linux-Logs.png\" alt=\"\" width=\"600\" height=\"400\" srcset=\"https:\/\/www.newstechnology.eu\/it\/wp-content\/uploads\/2018\/11\/Linux-Logs.png 600w, https:\/\/www.newstechnology.eu\/it\/wp-content\/uploads\/2018\/11\/Linux-Logs-300x200.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Generalmente, almeno per i sistemi linux pi\u00f9 utilizzati (Debian o Redhat), i log di sistema vengono registrati nella <strong>directory \/var\/log<\/strong>. I file pi\u00f9 importanti dove si registrano i log del sistema sono <em>syslog<\/em> e <em>message<\/em>.<\/p>\n<p>Se scriviamo un bash script e vogliamo visualizzare i logs all&#8217;interno dei files <em>\/var\/log\/syslog<\/em> o <em>\/var\/log\/message<\/em> occorre scrivere una riga di codice che indica al sistema operativo di scrivere all&#8217;interno di questi files.<\/p>\n<p>Supponiamo di avere uno script di backup e vogliamo registrare l&#8217;inizio e la fine di questo processo nei files di logs.<\/p>\n<p>Lo scripts dovr\u00e0 essere simile al seguente:<\/p>\n<p><em>#!\/bin\/bash<\/em><\/p>\n<p><em>logger -i &#8211;tag BACKUP START backup web site NewsTechnology.eu <\/em><\/p>\n<p><em>[procedure per il backup]<\/em><\/p>\n<p><em>logger -i &#8211;tag BACKUP END backup web site NewsTechnology.eu<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Il file <em>\/var\/log\/syslog<\/em> avr\u00e0 quindi le seguenti righe in pi\u00f9:<\/p>\n<p><em>Nov 22 08:26:42 nt-lp BACKUP[19262]: START backup web site NewsTechnology.eu<\/em><\/p>\n<p><em>&#8230;.<\/em><\/p>\n<p><em>Nov 22 08:45:38 nt-lp BACKUP[19262]: END backup web site NewsTechnology.eu<\/em><\/p>\n<p>Nell&#8217;esempio riportato abbiamo fatto indichiamo BACKUP come il tag del log (per una facile ricerca), mentre il numero del processo \u00e8 racchiuso in parentesi quadre.<\/p>\n<p>Notiamo in particolare come non sia pi\u00f9 necessario inserire scomode variabili come date o nomi di file per i logs. Semplicemente ci siamo <strong>concentrati sul messaggio e sul tag<\/strong> che deve comparire all&#8217;interno del file \/var\/log\/syslog.<\/p>\n<p>Inoltre possiamo <a href=\"https:\/\/www.newstechnology.eu\/it\/software-open-source\/centralizzare-gratuitamente-i-logs-di-servers-windows-con-zeroshell-e-ntsyslog.html\">centralizzare i files di log in un sistema linux molto facilemente<\/a>, cos\u00ec da avere un unico punto da dove prelevare i vari errore o notifiche.<\/p>\n<p>Qui di seguito l&#8217;<strong>helper del software <em>logger -h<\/em><\/strong><\/p>\n<p><em>Usage:<\/em><br \/>\n<em>logger [options] [&lt;message&gt;]<\/em><\/p>\n<p><em>Enter messages into the system log.<\/em><\/p>\n<p><em>Options:<\/em><br \/>\n<em>-i log the logger command&#8217;s PID<\/em><br \/>\n<em>&#8211;id[=&lt;id&gt;] log the given &lt;id&gt;, or otherwise the PID<\/em><br \/>\n<em>-f, &#8211;file &lt;file&gt; log the contents of this file<\/em><br \/>\n<em>-e, &#8211;skip-empty do not log empty lines when processing files<\/em><br \/>\n<em>&#8211;no-act do everything except the write the log<\/em><br \/>\n<em>-p, &#8211;priority &lt;prio&gt; mark given message with this priority<\/em><br \/>\n<em>&#8211;octet-count use rfc6587 octet counting<\/em><br \/>\n<em>&#8211;prio-prefix look for a prefix on every line read from stdin<\/em><br \/>\n<em>-s, &#8211;stderr output message to standard error as well<\/em><br \/>\n<em>-S, &#8211;size &lt;size&gt; maximum size for a single message<\/em><br \/>\n<em>-t, &#8211;tag &lt;tag&gt; mark every line with this tag<\/em><br \/>\n<em>-n, &#8211;server &lt;name&gt; write to this remote syslog server<\/em><br \/>\n<em>-P, &#8211;port &lt;port&gt; use this port for UDP or TCP connection<\/em><br \/>\n<em>-T, &#8211;tcp use TCP only<\/em><br \/>\n<em>-d, &#8211;udp use UDP only<\/em><br \/>\n<em>&#8211;rfc3164 use the obsolete BSD syslog protocol<\/em><br \/>\n<em>&#8211;rfc5424[=&lt;snip&gt;] use the syslog protocol (the default for remote);<\/em><br \/>\n<em>&lt;snip&gt; can be notime, or notq, and\/or nohost<\/em><br \/>\n<em>&#8211;sd-id &lt;id&gt; rfc5424 structured data ID<\/em><br \/>\n<em>&#8211;sd-param &lt;data&gt; rfc5424 structured data name=value<\/em><br \/>\n<em>&#8211;msgid &lt;msgid&gt; set rfc5424 message id field<\/em><br \/>\n<em>-u, &#8211;socket &lt;socket&gt; write to this Unix socket<\/em><br \/>\n<em>&#8211;socket-errors[=&lt;on|off|auto&gt;]<\/em><br \/>\n<em>print connection errors when using Unix sockets<\/em><br \/>\n<em>&#8211;journald[=&lt;file&gt;] write journald entry<\/em><\/p>\n<p><em>-h, &#8211;help display this help<\/em><br \/>\n<em>-V, &#8211;version display version<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il significato di log in informatica prende spunto dal termine logbook (giornale di bordo) come bene riportano i wiki. Per questo gli informatici hanno scelto il termine log per rappresentare una sorta di diario o registro dei vari processi che girano nel sistema. La registrazione dei logs \u00e8 talmente importante che appena sorge un problema &#8230; <a title=\"Shell Script Con Generazione Messaggi di Log in Linux\" class=\"read-more\" href=\"https:\/\/www.newstechnology.eu\/it\/software\/sistemi-operativi\/linux\/shell-script-con-generazione-messaggi-di-log-in-linux.html\" aria-label=\"Per saperne di pi\u00f9 su Shell Script Con Generazione Messaggi di Log in Linux\">Leggi tutto<\/a><\/p>\n","protected":false},"author":1,"featured_media":7799,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wpai_meta_description":"","footnotes":""},"categories":[15,22,31],"tags":[1375,1374,45,357,1380,1381,1376,1377,358,1379,1378],"class_list":["post-7794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-server","category-sicurezza","tag-var-log","tag-var-log-syslog","tag-linux","tag-log","tag-log-di-sistema-linux","tag-log-in-linux","tag-logbook","tag-logger","tag-logs","tag-scrivere-log","tag-syslog"],"_links":{"self":[{"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/posts\/7794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/comments?post=7794"}],"version-history":[{"count":4,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/posts\/7794\/revisions"}],"predecessor-version":[{"id":7800,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/posts\/7794\/revisions\/7800"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/media\/7799"}],"wp:attachment":[{"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/media?parent=7794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/categories?post=7794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newstechnology.eu\/it\/wp-json\/wp\/v2\/tags?post=7794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}