Loggning från ett bash-script

Jag kom att tänka på att loggning till syslog skulle vara bra när man skriver egna script, så jag har lagt till stöd för detta i mitt script för att göra backup. Jag kommer inte här att visa den delen av scriptet, utan jag visar hur man gör med loggningen.

Detta körs på Ubuntu, men borde fungera även på andra distar.

Jag har använt programmet ”logger” som installeras med paketet ”bsdutils”.

sudo apt-get install bsdutils

Skriver du i bash

~$ logger Test

så kommer det att visas i /var/log/syslog som

<date-and-time>  <computer-name> <user>: Test

Kan man då visa variabler i den text som logger skickar till syslog? Ja-visst kan man det.

#!/bin/sh
VAR1="BLABLA"
logger "Test of variable: VAR1 = $VAR1"

Detta lilla script kommer då att se ut något som följer i syslog

<date-and-time>  <computer-name> <user>: Test of variable: VAR1 = BLABLA

Självklart ska man inte skriva ”~$” för det är prompten i bash som ibland ser ut så.

Versioner

~$ logger --version
logger from util-linux 2.20.1

~$ bash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

Länkar

  1. Sökning med orden ”logging to syslog linux from bash”
  2. http://www.cyberciti.biz/tips/howto-linux-unix-write-to-syslog.html

 

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *