1blu bietet einen Backupserver an, auf dem man den Platz seines VServer noch mals hat.
Nur wie ein Backup erstellen???
Laut FAQ will 1blu einem jede Möglichkeit offen lassen. Nur einen grundlegenden Ansatz der geht, war für mich nicht auffindbar.
Nun, hier nun ein kleiner Ansatz unter Verwendung von TAR.
Grundlegend:
- Volles Backup aller Dateien reicht wöchentlich.
- Datenbanken und Webseiten täglich sichern.
Inkrementelles Backup hat immer den Nachteil, wenn was fehlt, dann geht nichts mehr. Also verlieren wir so maximal den letzen Tag.
Was müssen wir einrichten?
Backupserver:
Die Verzeichnisse
- full
- mysql
- www
VServer
Verzeichnis:
- /backup
einrichten, wo alle Dateien tempor„r verarbeitet werden.
www sichert nur das Verzeichnis /srv
MySQL-Backup
Wird mittels mysqldumper in der https-subdomain admin getan. (Kann selbst auch angepasst werden).
In passendes Verzeichnis /srv/www/vhosts/domain.de/subdomains/admin/httpsdocs/mysqldumper
entpacken. Via Userinterface passend die Configdatei erstellen lassen! Wird später passend von crondump.pl ermittelt.
Genaueres die Doku von MySQLDumper lesen. install_deutsch.txt reicht im Normalfall aus.
Die Scripte:
Liegen bei mir alle unter /data/scripts/
fullbackup.sh
#!/bin/bash
BCKDIR=/backup
# Festlegung des Datums - Format: 20050710
DATE=`date +”%Y%m%d”`
FILENAME=full-$DATE.tar.bz2
TARGET=$BCKDIR/$FILENAME# Hostname des Backup-Servers
BACKUP_SERVER=”backup.1blu.de”EMAIL=”user@domain.de”
MESSAGE=”/tmp/fullbackup-$DATE.txt”cd $BCKDIR
# Verzeichnisse die gesichert werden sollen
# in diesem Beispiel sind dies die Kunden Webseiten und E-Mails
BACKUP_DATA=”/bin /boot /data /dev /etc /home /lib /lib64 /media /opt /root /sbin /srv /sys /usr /var”# alte UMASK sichern
UMASK=`umask`umask 0077
tar –exclude=${TARGET} -czf ${TARGET} ${BACKUP_DATA} 2>/dev/null
md5sum ${TARGET} > ${TARGET}.md5
echo “\$ fullbackup ${TARGET} ${FILENAME}” | pftp ${BACKUP_SERVER} >/dev/null
rm -f ${TARGET} ${TARGET}.md5
umask ${UMASK}/bin/mail -r “backup@domain.de” -s “[BACKUP] domain.de Fullbackup run” “$EMAIL” < $MESSAGE
rm $MESSAGE
daily-backup.sh
#!/bin/bash
# Allgemeine Angaben
FTP_SERVER=”backup.1blu.de”
BCKFOLDER=”/backup”
SCRIPTDIR=”/data/scripts”# Festlegung des Datums - Format: 20050710
DATE=`date +”%Y%m%d”`EMAIL=”mail@domain.de”
MESSAGE=”/tmp/daily-backup-$DATE.txt”# Das Script
cd $SCRIPTDIR/
echo backup of dbs
# Sicherung der Datenbanken
sh $SCRIPTDIR/mysqlbackup.sh $BCKFOLDER mysql-$DATE.tar.bz2 $FTP_SERVERcd $SCRIPTDIR/
echo backup of www
# Sicherung des www-content
sh $SCRIPTDIR/wwwbackup.sh $BCKFOLDER www-$DATE.tar.bz2 $FTP_SERVER/bin/mail -r “backup@domain.de” -s “[BACKUP] domain.de Daily Backup run” “$EMAIL” <$MESSAGE
rm $MESSAGE
mysqlbackup.sh
#!/bin/bash
BCKDIR=$1
FILENAME=$2
TARGET=$BCKDIR/$FILENAME
# Hostname des Backup-Servers
BACKUP_SERVER=$3cd $BCKDIR
# Verzeichnisse die gesichert werden sollen
# in diesem Beispiel sind dies die Kunden Webseiten und E-Mails
BACKUP_DATA=”/srv/www/vhosts/domain.de/subdomains/admin/httpsdocs/mysqldumper/work”# alte UMASK sichern
UMASK=`umask`perl /srv/www/vhosts/domain.de/subdomains/admin/httpsdocs/mysqldumper/msd_cron/crondump.pl
umask 0077
tar -czf ${TARGET} ${BACKUP_DATA} 2>/dev/null
md5sum ${TARGET} > ${TARGET}.md5
echo “\$ mysqlbackup ${TARGET} ${FILENAME}” | pftp ${BACKUP_SERVER} >/dev/null
rm -f ${TARGET} ${TARGET}.md5
umask ${UMASK}
wwwbackup.sh
#!/bin/bash
BCKDIR=$1
FILENAME=$2
TARGET=$BCKDIR/$FILENAME
# Hostname des Backup-Servers
BACKUP_SERVER=$3cd $BCKDIR
# Verzeichnisse die gesichert werden sollen
# in diesem Beispiel sind dies die Kunden Webseiten und E-Mails
BACKUP_DATA=”/srv”# alte UMASK sichern
UMASK=`umask`umask 0077
tar –exclude=${TARGET} -czf ${TARGET} ${BACKUP_DATA} 2>/dev/null
md5sum ${TARGET} > ${TARGET}.md5
echo “\$ wwwbackup ${TARGET} ${FILENAME}” | pftp ${BACKUP_SERVER} >/dev/null
rm -f ${TARGET} ${TARGET}.md5
umask ${UMASK}
Crontab:
mittels crontab -e bearbeiten. Anzeige mittels -l
0 3 * * * sh /data/scripts/daily-backup.sh >/dev/null
0 4 * * sat sh /data/scripts/fullbackup.sh >/dev/null
Täglich nachts um 3 Uhr mysql und www sichern
und Samstags noch um 4 Uhr das gesamte System!
.netrc
Unter dem User der das Backup ausführt im Home-Verzeichis die Datei .netrc
(Berechtigungen r+w nur fr den Eigentümer!) Wird vom bereits installiertem ftp-client verwendet. Darin definieren wir wohin der Client mit welchen Makros geht. Darin folgende Definitionen:
machine backup.1blu.de
login “user”
password “password”macdef fullbackup
cd full
mdelete *.*
put $1 $2
put $1.md5 $2.md5
quitmacdef mysqlbackup
cd mysql
mdelete *.*
put $1 $2
put $1.md5 $2.md5
quitmacdef wwwbackup
cd www
mdelete *.*
put $1 $2
put $1.md5 $2.md5
quit
Somit hat man zumindest mal ein einfaches, ständig laufendes Backup.
Ist noch optimierbar, nur fehlt mir die Zeit ;). Es läuft bei mir produktiv und geht!
Ich bernehme keine Garantie auf Funktion und Haftung fr Schäden. Scripte können frei verwendet werden!
Optimierungen bitte melden ![]()