Wohnmobiltour Silvester 2009

Ein kurzer Reisebericht unserer Tour mit 8 Leuten und 2 Wohnmobilen über Silvester nach Göteborg
Weiterlesen

Abzocke am Fremdautomaten

Ich bin heute fast vom Stuhl gefallen, als ich beim Online-Banking sah, was mich die Nutzung des Sparkassen EC-Automaten als Volksbank Kunde gekostet hat. Bei 20€ die ich abgehoben habe, wurden mir Satte 6,50€ Gebühren berechnet!

Sauerland-Tour

Heute bin ich eine schöne Tour, zusammen mit den Leuten von BIG-OE, durch’s Sauerland gefahren. Hier geht’s zum Track …
Weiterlesen

Backup encrypted Ubuntu Linux harddisk

Some days ago, I switched from Ubuntu to Fedora 11. Before overwriting my old system I of course backed up the old one. What I did was simply a

dd if=/dev/sda of=/mnt/somedisk/mybackup.img

The tricky part now is to get access to your old data when you used „Full disk encryption“ for the old system. Here is what I had to do:


losetup /dev/loop1 /mnt/somedisk/mybackup.img
kpartx -a -v /dev/loop1
cryptsetup luksOpen /dev/loop1p1 foobar
lvchange -a y "/dev/oldhostname/root"
mkdir /mnt/oldsys
mount /dev/mapper/your_old_root /mnt/oldsys

If you can’t find the name of your old lv, use lvscan.

Kleine Radtour

Bei dem schönen Wetter und weil gestern meine Etrex Fahrrad-Halterung eingetroffen ist, habe ich heute eine kleine Tour mit dem Rad gemacht. Einmal Witten und Dortmund gestreift und wieder zurück. Außerdem teste ich hiermit mal mein neues WordPress Plugin 😉 Demnächst kommt vielleicht mal die ein oder andere Motorradtour in mein Blog.
track

Backup Script mit DAR

Vor einiger Zeit habe ich ein kleines Backup Script geschrieben, welches sich des schönen Programmes DAR bedient.

Das Script ist so gedacht, dass ganze Verzeichnisse in .dar Dateien zusammengefasst und verschlüsselt werden. Diese werden zuerst in einem lokalen Verzeichnis zwischengespeichert und nach der Fertigstellung auf einen FTP-Server hochgeladen. Nach erfolgreichem Transfer wird die lokale Datei gelöscht.

Ab dem zweiten Durchlauf, also Start des Scripts, werden „differentielle“ Backups erstellt. Anhand des vorher angelegten „Catalogues“, welcher, im Gegensatz zur eigentlichen Backup Datei, noch lokal im Dateisystem belassen wird, ensteht eine neue Backup Datei die nur noch die Unterschiede zur Vorherigen enthält.

#!/bin/bash
 
KEY="foobar"
DIRS="/etc /home/bjoern"
BACKUP_DIR="/backup/ftp-raw"
BACKUP_TEMP="/backup/temp"
BACKUP_CATALOGUES="/backup/catalogues"
DATE_STRING=`date +"%Y-%m-%d-%H-%M"`
 
FTP_USER="foo"
FTP_PASS="bar"
FTP_IP="123.123.123.123"
 
date
 
if ! test -e $BACKUP_DIR;then
    mkdir -p $BACKUP_DIR
fi
 
if ! test -e $BACKUP_TEMP;then
    mkdir -p $BACKUP_TEMP
fi
 
if ! test -e $BACKUP_CATALOGUES;then
    mkdir -p $BACKUP_CATALOGUES
fi
 
for i in $DIRS
do
    echo "Backing up $i"
    NAME=`echo $i | sed -s "s/\//_/g"`
    LATEST=`ls $BACKUP_CATALOGUES/*.1.dar 2>/dev/null | grep $NAME | tail -n1| sed -s "s/\.1\.dar//"`
    if [[ $LATEST ]];then
        NAME_NEW="$NAME-$DATE_STRING-diff"
        echo "Latest was $LATEST"
        dar -K bf:$KEY -R $i -c $BACKUP_TEMP/$NAME_NEW -A $LATEST -X *.log
        if [[ $? -eq 0 || $? -eq 11 ]];then
            echo "Backup of $i done."
        else
            echo "Backup failed."
            continue
        fi
        dar -J bf:$KEY -C $BACKUP_CATALOGUES/$NAME_NEW-catalogue -A $BACKUP_TEMP/$NAME_NEW
        if [[ $? -eq 0 || $? -eq 11 ]];then
            echo "Catalogue created."
        else
            continue
            echo "Catalogue failed."
        fi
        lftp ftp://$FTP_USER:$FTP_PASS@$FTP_IP/ -e "put $BACKUP_TEMP/$NAME_NEW.1.dar;exit"
        if [[ $? -eq 0 ]];then
            rm -f $BACKUP_TEMP/$NAME_NEW.1.dar
        fi
    else
        NAME_NEW="$NAME-$DATE_STRING"
        echo "No previous backup found"
        dar -K bf:$KEY -R $i -c $BACKUP_TEMP/$NAME_NEW -X *.log
        if [[ $? -eq 0 || $? -eq 11 ]];then
            echo "Backup of $i done."
        else
            echo "Backup failed."
            continue
        fi
        dar -J bf:$KEY -C $BACKUP_CATALOGUES/$NAME_NEW-catalogue -A $BACKUP_TEMP/$NAME_NEW
        if [[ $? -eq 0 || $? -eq 11 ]];then
            echo "Catalogue created."
        else
            continue
            echo "Catalogue failed."
        fi
        lftp ftp://$FTP_USER:$FTP_PASS@$FTP_IP/ -e "put $BACKUP_TEMP/$NAME_NEW.1.dar;exit"
        if [[ $? -eq 0 ]];then
            rm -f $BACKUP_TEMP/$NAME_NEW.1.dar
        fi
    fi
done