Backup

Vor kurzem hatte ich von den tollen Möglichkeiten von wget berichtet. Mittlerweile läuft mein Backup und für alle interessierten will ich noch meine Lösung in den Blog stellen.
Wer Wunder oder fantastische Shell-Skripting-Lösungen erwartet ist sicherlich falsch, aber es geht ja auch nur um Backups.
Ziel war das Backup von Webspace, bei dem nur FTP zur Verfügung steht. Zusätzlich habe ich mir noch lokal MySQL installiert und kann nun auch die Datenbanken entfernt sichern. Einfacher als lokale Perl oder sonstige Skripte (meiner Meinung nach).

Erst einmal das Skript:

#!/bin/bash
cat sites.lst | while read line; do 
        if [ '#' != `echo $line | cut -c 1,1` ]; then
                echo $line
                wget -mirror -X=log,logs,usage,cgi-bin ftp://"$line" -P page 
        fi
done

cat db.lst | while read line; do
        if [ '#' != `echo $line | cut -c 1,1` ]; then
                hostname=`echo $line | cut -d: -f1`
                user=`echo $line | cut -d: -f2`
                password=`echo $line | cut -d: -f3`
                db=`echo $line | cut -d: -f4`
                filename=`echo $line | cut -d: -f5`
                mysqldump -h $hostname -u$user -p$password $db > 
                    database/$hostname-$filename.sql
        fi
done

Als Input dienen zwei Dateien (sites.lst und db.lst), die folgendes Format haben.

sites.lst

USERNAME:PASSWORD@HOSTNAME

db.lst

HOSTNAME:USERNAME:PASSWORD:DATABASE:FILE_DESCRIPTION

Wer es hilfreich findet, kann gerne einen Kommentar hinterlassen. Würde mich freuen zu hören, ob noch jemand diese Art der Lösung mag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.