Kategori bash

zone files eine IP ändern

Freitag, April 6th, 2012

Mal eben schnell in allen Zonefiles eine IP ändern und die serial Nummer updaten.

#!/bin/bash
for item in *; do 
  if [ -f $item ]; then 
    sed 's/'88.198.44.248'/'46.4.34.52'/g' $item > $item.tmp;
    if [ "$(md5sum $item | awk '{print $1}')" = "$(md5sum $item.tmp | awk '{print $1}')" ]; then 
      rm $item.tmp
    else
      sed "s/$(cat $item.tmp | grep 'serial' | awk '{print $1}')/2012040601/g" $item.tmp > $item
      rm $item.tmp
    fi   
  fi 
done

Das funktioniert natürlich nur solange wenn die Zonefiles noch nicht geupdatet wurden und die Serienummern mit ;sirial getakt sind.

tail -F color

Mittwoch, Februar 1st, 2012

Heute musste ich den ganzen Tag ein Logfile überwachen. Damit das nicht zu anstrengend wird und man Fehler nicht übersieht, habe ich das Logfile einfach eingefärbt.

tail -F file.log | awk '
   /FATAL/ {print "\033[31m" $0 "\033[39m"}
   /WARN/ {print "\033[33m" $0 "\033[39m"}
   /INFO/ {print "\033[32m" $0 "\033[39m"}
'

Leerzeichen im Pfad

Mittwoch, Juli 20th, 2011

Wenn man Dateien mit Leerzeichen in eine Variabel einlesen möchte braucht man ls -b und read -r

ls -b > .tmp
while read -r datei; do
        echo $datei
done < .tmp

rionice

Mittwoch, Juni 15th, 2011

Um rekursiv ionice zu vererben haben wir mal eben ein rionice geschrieben.

#!/bin/bash

ionice -c 3 -p $(pstree -p $1 | tr "(" "\n" | cut -d ")" -f 1 | egrep "^[0-9]+\$")

exit 0

Um es aufzurufen muss man die PID des Mutterprozesses rionice übergeben. Dies macht man am besten mit ps -xf. Dann übergibt man rionice 1234.

upstart und die fehlende bash tab completion

Montag, Mai 16th, 2011

Was mich an meisten an upsatart, abgesehen davon das es schlecht zu Debuggen ist, gestört hat ist die fehlende bash tab completion.

Auf launchpad.net habe ich aber den passenden Burgreport gefunden und den dazugehörigen Patch, den man folgendermaßen verwenden kann:

sudo wget -O /etc/bash_completion.d/upstart https://launchpadlibrarian.net/40624366/upstart

(mehr …)