Author Archives: kpolberg

sshpass for de gangene man ikke har nøkler.

Er ikke så ofte jeg skal slå av over 1500 maskiner, men av og til skjer det jo. Og for de tilfellene er det jeg hater at jeg ikke har lagt opp nøkler til chassisene rundt omkring. Heldigvis kom jeg over sshpass sist gang jeg slåss med dette her. Kort fortalt lar sshpass deg bruke vanlig passord og dytte rett inn i ssh. Regner vel nesten med at det bare er ett lite perl script, men nytten er så uendelig.

[bash]
# sshpass -p ‘password’ ssh admin@oaenc show oa info
[/bash]

netapp kommandoer

[bash]
disk show -n # Lister disker som ikke er medlem av noen kontroller.
vol size {volum} +{size}G # Husk å sjekk at det er ledig plass.
snapmirror status {volum} # Viser status på DR-mirror
options autosupport.doit Test # Sender email med filer status.
snapmirror update -S {filer}-sync:{volum} {filer-mirror}:{volum} # Force sync mirror
vfiler run {vfiler} dns flush # Flush dns cache ved netgroup problemer
vfiler run {vfiler} exportfs -f # Flush export cachen
priv set advanced led_on {disk_id} # Skru på led, kan også bruke blink_on
priv set advanced # Nesten som sudo
vfiler run {vfiler} exportfs -c {IP} {volume-path} # Sjekk om en IP har lov til å montere
vfiler run {vfiler} getXXbyYY gethostbyaddr_r {IP} # Kjør lookup i DNS cachen på netappen.

[/bash]

Cleanup av shared memory

I forbindelse med dårlig “shared memory” styring på noen av applikasjonene på jobb ser jeg for meg følgene implementering.

1. List ut shared memory segmenter (ipcs -m)
2. List ut påloggede brukere (w)
3. Slett alle shared memory segmenter fra brukere som ikke lenger er pålogget(ipcrm).

[bash]
#!/bin/bash
self=`basename $0`

if [[ "$1" = "-h" || "$1" = "–help" ]]; then
cat <<EOM

$self:
$self              list leftover
$self -r           list and remove leftover
$self -h or –help this text

EOM
exit 0
fi

if [ "$(id -u)" != "0" ]; then
echo "$self must be run as root"
exit 1
fi

if [ -f /etc/redhat-release ] ; then
if [[ ! `cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//` = "3" ]] ; then
echo "$self only tested on RHEL3"
exit 1
fi
fi

ps -ef | egrep -v "clamav|daemon|root|rpc|smmsp|UID|xfs|gdm|ntp" | awk ‘{print $1}’ | sort -u > /tmp/online_ps
w | egrep -v "root|USER|load average" | awk ‘{print $1}’ | sort -u > /tmp/online_w
cat  /tmp/{online_ps,online_w} | sort -u > /tmp/online_
filter=`awk ‘{printf "%s",$0"|"}; END{print "root|gdm|Shared|shmid|Memory|owner|Message|msqid|Semaphore"}’ /tmp/online_`
rm -f /tmp/{online_ps,online_w,online_}
echo "Leftover shared mem"
ipcs -m | egrep -v "$filter"
echo "Leftover message q’s"
ipcs -q | egrep -v "$filter"
echo "Leftover semaphores"
ipcs -s | egrep -v "$filter"

if [[ "$1" = "-r" ]]; then
echo "Removing shared mem"
for i in `ipcs -m | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -m $i;done
echo "Removing semaphores"
for i in `ipcs -s | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -s $i;done
echo "Removing message q’s"
for i in `ipcs -q | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -q $i;done
fi

[/bash]

preap

Kom over en litt kjekk funksjon i Solaris 10, preap(process reaper). Det denne gjør er å ta livet av defunct eller zombie prosesser, med å overstyre sikkerhetsfunksjonene. Har ikke funnet noe tilsvarende for Linux, men det er vel bare å håpe at dette kommer om ikke alt for lenge.

preap - force a defunct process to be reaped by its parent

Sleep-as-an-droid

Da har jeg prøvd ut en ny applikasjon til androiden, litt nytte, og litt for morro. Sleep-as-an-droid skal hjelpe deg med å våkne på best mulig tidspunkt. Problemet for min del, er egentlig at den setter fokus på ett helt annet problem…Jeg sover rett og slett alt for lite, på 5 dager viser det seg at jeg har manko på 8 timer søvn.

Ganske så stilig, den baserer seg altså på bevegelsene, så det er viktig at den ligger i sengen. Visstnok bør den helst ligge i nærheten av hodet. Strålefaren er helt sikkert til stede, men for min del er nok dette det minste problemet. Selve funksjonen med vekking er jeg ikke helt sikker på at jeg er så imponert over. Det funket over all forventning første kvelden, men da var jeg til gjengeld uthvilt(full 8 timers søvn). Etter dette har det blitt mer en morro greie, for å se hvor urolig jeg sover, og kanskje hvis jeg er heldig får jeg opptak av meg mens jeg snakker i søvne(har ikke skjedd til nå).

Kamerautstyr

Nikon AF-S 105mm f/2.8 VR Micro-NIKKOR – Begynne på topp med den dyreste. Macro linse med blender 2.8, ser for meg at denne også kan brukes til portrett foto, tillegg til detalje foto. Ikke ett zoom objektiv, men dette betyr ikke så mye. Ken Rockwell, som forøvrig skriver gode “reviews”, legger denne nesten i en må ha boks.

Nikon 35mm f/1.8G AF-S DX – Må jo ha en lyssterk “normal” linse i baggen, og dette er vel det billigste og beste alternativet til min Nikon D300. Er tilgjengelig for rask leveranse fra netonnet.

Nikon D300 MB-D10 – Batterigrep som gir kjappere “skuddtakt” og forlenger batteritiden. Kan kjøpes på eBay for en rundt $80.

Ellers er det en selger på ebay som tilbyr mye spennende.

SubSonic – mp3 on the go.

Jeg har egentlig vært klar over dette prosjektet i lang tid, men fikk en liten påminnelse idag i forbindelse med Android telefonen. I market ligger det en rimelig grei standalone klient, som har full mulighet til enten å streame direkte mot hvilken som helst server, eller så kan den lagre lokalt på selve mobilen. I tillegg tar subsonic seg av all konvertering fra forskjellige filformater, til hva du spesifiserer. For eksempel flac til mp3, dette blir da gjort på server-siden, slik at man ungår å laste unødvendig data.

SubSonic ligger i market, og er relativt enkel sak å sette opp. På serversiden er det bare å laste ned en standalone versjon fra SubSonic sine sider. Det er laget en ferdig rpm for RHEL/CentOS som vil opprette en server på port 4040, i tillegg tar rpmen seg av å lage oppstarts script. Sånn ellers anbefaler SubSonic at du innstallerer endel codecs for å kunne utnytte transcoding funksjonaliteten som er innebygget.

Backup av SMS / MMS på Android

I og med at jeg er en “horder” så sparer jeg jo på alle SMSer, foreløpig har jeg prøvd ut endel forskjellige løsninger. En av løsningene som ser ut til å fungere er SMS Backup+ som jeg har lagt ved QR linken til. Denne syncer SMS / MMS og “Call” loggen mot gmail, noe som jo virker greit. Ulempen er jo syncing av data krever endel trafikk, så kanskje en burde holde seg til wifi i stedet for 3G data.

En annen løsning, hvis man ikke vil bruke andre applikasjoner er å ta backup av 2 filer på selve enheten over til /sdcard. Selve tekst innholdet ligger i /data/data/com.android.providers.telephony/databases/mmssms.db og resten av MMS innholdet ligger under mappen /data/data/com.android.providers.telephony/app_parts/