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
- Sökning med orden ”logging to syslog linux from bash”
- http://www.cyberciti.biz/tips/howto-linux-unix-write-to-syslog.html