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.