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

 

Fixa Unity när den krashar och inga menyer finns

Häromdagen så ville jag leka lite med inställningarna i Ubuntu genom att göra ändringar i Compiz (ccsm) och alla menyer och verktygsrader försvann. Ooops!

Då jag körde i en Virtualbox-instans så var det inte hela världen, jag hade tillgång till annat att göra. Men så idag tänkte jag att, nu måste jag göra ett försök att få tillbaka menyerna. Det visade sig inte vara så lätt.

Steg ett var att gå till terminal, men hur gör man det i Virtualbox utan möjlighet till något grafiskt? CTRL+ALT+F1 brukar man använda i normala fall, men den fungerar inte i Virtualbox, till slut listade jag bland annat ut att man måste använda ”Host key” i Virtualbox, och för mig var det höger CTRL. Du hittar vad den är inställd till i nedre högra hörnet i Virtualbox, i alla fall om du kör i fönster-läge. Till slut hittade jag kombinationen som för mig var ”HostKey+CTRL+F1” och F1 är jag tvungen att trycka på två gånger för att komma till terminal-läget.

Jag hittade först länk 2 och tänkte att det här verkar ju lätt. Men icket, jag fick inte köra ”setsid unity” för jag hade inte tillgång till det grafiska. Hur gör man då det. I länk 1 hittade jag att man ska skriva  ”export DISPLAY=:0” och efter det så fungerar kommandona som man behöver för det grafiska. Och för att växla tillbaka till det grafiska så gör man som vanligt ”ALT+F7”.

Nu är jag inte helt säker på vad som gjorde att jag fick tillbaka mina menyer. Vad jag kan säga är att jag försökte många kombinationer av det som föreslagits, utan att få menyerna att fungera. Till slut gjorde jag en lite mer drastisk sak och ominstallerade vissa paket. Är inte helt säker på vilka dessa varit, men följande är jag säker på att jag har ominstallerat.

sudo aptitude reinstall indicator-datetime gnome-control-center ubuntu-desktop

Och jag har startat om panelerna många gånger.

sudo killall unity-panel-service

setsid unity – som jag tror används för att starta om unity

dconf restet -f /org/compiz/ – varför man ska skriva den sökvägen det har jag inte kunnat lista ut, men det verkar fungera. Eller det vet jag inte, men jag har kört kommandot i alla fall.

Och självklart har jag startat om hela maskinen, dvs maskinen i Virtualbox. ”reboot” som jag kanske kört ett tio-tal gånger, men det var först sista gången som jag fick tillbaka menyerna.

Har även hittat en länk till lanunchpad om en bugg, som kan ha med detta att göra. Men för mig tror jag det var för att jag lekte med Compiz 😉

Länkar
1 – http://askubuntu.com/questions/17381/unity-doesnt-load-no-launcher-no-dash-appears
2 – http://ubuntuhandbook.org/index.php/2014/04/reset-unity-and-compiz-settings-in-ubuntu-14-04/
3 – https://bugs.launchpad.net/ubuntu/+source/indicator-datetime/+bug/1228360

 

Beräkna hur lång tid ett bash-script tar

Jag har länge tänkt att jag ska fixa en tid-tagning för några av mina bash-script, men det har aldrig blivit av, förrän nu.

Jag har egentligen inte gjort så mycket själv, annat än att Googla efter rätt information. Jag sökte med ”bash calculate time difference” och då hittade jag följande länk.

# sTime - indicates start of execution
# eTime - indicates end of execution
# dTime - indicates difference between sTime and eTime
# at the end of the script I calculate time for execution

sTime=$(date +"%s")
# här ligger det skript jag har som jag vill beräkna tiden den tar på sig
eTime=$(date +"%s")
dTime=$(($eTime-$sTime))
echo ""
echo ""
echo "##########################"
echo "Time: $(($dTime / 3600 )) hours $((($dTime % 3600) / 60)) minutes $(($dTime % 60)) seconds"
echo "##########################"
echo ""

Något jag upptäckte var att det är kritiskt med blanktecken och parenteser på olika platser. Tex sTime=$(date +"%s") behöver ett mellanslag mellan date och +. Jag skrev första gången ihop dessa och då fungerade det inte. Jag tyckte först inte att det behövdes dubbla parenteser runt beräkning av dTime, men se det fick jag också ångra.

Du kan så klart använda andra namn på variablerna och annan text. Och ja, jag försöker så gott det går att använda engelska när jag skriver kommentarer i min kod. Det går inte att komma från att svenska är ett udda språk för oss som är utvecklare. Då 99% av all hjälp som finns att få på nätet skrivs på engelska så är det bara naturligt att fortsätta på den vägen.

Långsam utskrift under KUbuntu

Jag har under lång tid haft långsamma utskrifter och jag har till slut lyckats hitta orsaken till varför det gått så långsamt, fel drivrutin.

Jag kör KUbuntu och har en LaserJet 1320tn och den drivrutin som tidigare använts var ”HP LaserJet 1320 Foomatic/pxlmono (recommended)” men som det visar sig inte als är att rekommendera.

Numera kör jag med ”HP LaserJet 1320tn hpijs, 3.14.3” och den startar mycket snabbare.

Än så länge har jag inte märkt någon försämring.

Lägg till HP LaserJet 1320tn
Lägg till HP LaserJet 1320tn
Lägg till HP LaserJet 1320tn, val av drivrutin.
Lägg till HP LaserJet 1320tn, val av drivrutin.

Nästa steg är så klart att välja namn och beskrivning och det tycker jag inte att jag behöver visa upp.

Backup av WordPress

Jag tänker ofta på att göra backup av mina data på min hem-dator, men gör jag det? Ibland, men det är allt för långt mellan gångerna. Och dessutom borde de göras med automatik och inte manuellt som det är för närvarande.

Denna gång tänkte jag att redan från början skulle jag tänka på detta och se om det fanns något bra verktyg för att göra backup av en WordPress-installation. Och jag hittade något som jag ska prova.

— fungerar ej –http://blogg.binero.se/2012/08/gor-en-backup-pa-din-wordpress-blogg/–

Jag har ställt in att den ska göra backup av allt utom WordPress själv. Då webbplatsen ligger på ett webbhotell som tillhandahåller WordPress tänker jag att jag klarar mig utan. Vi får se hur det går när jag behöver göra en återställning.

Vilka inställningar har jag gjort? Jag har ställt in att backup ska göras en gång i veckan, och hur många backups som ska göras. Det är allt.

Varje måndag kl 01:00, och fyra backups.

Inställningar ändrade för plugin "backup" i WordPress. Antal = 4, tidpunkt=varje vecka kl 01:00

Varför har jag valt 4 backups. Dels vet jag inte riktigt vad det innebär, sedan känns det som att 4 kan ge en indikation på vad det innebär. Jag gissar på att det kan vara så att det i mitt fall blir så att jag har backup fyra veckor bakåt i tiden. Måste kanske ta reda på mer om detta, men det blir senare.