Suche Backuplösung

Backup, Restore und Transfer von Daten
neo778
Posts: 5
Joined: 2008-02-03 10:47
 

Suche Backuplösung

Post by neo778 »

Hallo,

ich bin auf der Suche nach einer Backuplösung für meine 3 Root-Server und einem vServer.

Ich habe nun Externen Filespace gekauft und einen FTP Benutzer,
ich möchte nun das alle 24.Std. oder 48.Std. ein voller Backup von mein System gemacht wird.
Oder z.b nur /home/ /var o.ä.


Wie gesagt .
FTP Space ist vorhanden nur eine Lösung nicht.

Ich brauche eine kleine HowTo für sowas wenn jemand eine hat.
no1hosting
Posts: 9
Joined: 2007-03-20 07:27
 

Re: Suche Backuplösung

Post by no1hosting »

Hallo,

unter http://www.heinlein-support.de/web/supp ... nc-backup/ findest du eine gutes Backup-Script, bzw. unter http://www.linux-magazin.de/heft_abo/au ... erzentrale ist der vollständige und ausführliche Artikel dazu.
Das ganze einfach deinen Bedürfnissen anspassen, das Egebnis packen und auf den externen FTP-Server schieben.

Ansonsten die üblichen Verdächtigen wie Bacula, AMANDA usw.
datafreak
Posts: 24
Joined: 2005-11-21 19:43
 

Re: Suche Backuplösung

Post by datafreak »

Du solltest mal die Suchfunktion des Forums verwenden.
Hier gibt es viele fertige Scripte.

Ich hatte mal eins unter http://www.rootforum.org/forum/viewtopic.php?t=44593 gepostet.
Hab es aber schon etwas weiter bearbeitet.

Code: Select all

#!/bin/bash

HOST=""
USER=""
PASS=""
FTPDIR="autobackup"
MYSQLADMIN=""
MYSQLPASS=""
DELDAY="7"
datum=$(date +%d-%m-%G)
EXCLUDE="--exclude=/home/ftp"
TMPBACKUP="/tmp/backup"
DIRLIST="${TMPBACKUP}/list.txt"

mkdir -p ${TMPBACKUP}/${datum}/mysql/

for DOMAIN in /var/www/vhosts/*
do
	TEMPDOMAIN=$(echo $DOMAIN | awk -v FS="/var/www/vhosts/" '{print $2}')
	tar $EXCLUDE -cvzf ${TMPBACKUP}/${datum}/${TEMPDOMAIN}.tar.gz $DOMAIN >/dev/null 2>&1
	echo $DOMAIN done.
done

tar $EXCLUDE -cvzf ${TMPBACKUP}/${datum}/home.tar.gz /home >/dev/null 2>&1
echo /home done.

tar -cvzf ${TMPBACKUP}/${datum}/mysql_dir.tar.gz /var/lib/mysql >/dev/null 2>&1
echo /var/lib/mysql done.

tar -cvzf ${TMPBACKUP}/${datum}/etc_dir.tar.gz /etc >/dev/null 2>&1
echo /etc done.

for i in $(mysql -u$MYSQLADMIN -p$MYSQLPASS -Bs -e "show databases")
do
     mysqldump -u$MYSQLADMIN -p$MYSQLPASS --opt --quote-names "$i" | bzip2 -c > "${TMPBACKUP}/${datum}/mysql/$i.sql.bz2" >/dev/null 2>&1
done
echo MySQL-Dump done.

ncftpput -R -u $USER -p $PASS $HOST /$FTPDIR ${TMPBACKUP}/${datum}/ >/dev/null 2>&1
echo Uploade done.

rm -R ${TMPBACKUP}/${datum}

ncftpls -u $USER -p $PASS ftp://$HOST/$FTPDIR/ >> $DIRLIST

backupdel="0"

while read test; do

case $test in
    .)
    ;;

    ..)
    ;;

    *)
    tagx=$(echo $test | awk -v FS="-" '{print $3$2$1}')
    heute=$(date +%Y%m%d)

    tage=$((($(date +%s --date $heute)-$(date +%s --date $tagx))/86400))

        if (($tage>=$DELDAY)); then
            loeschen="$loeschen $test"
            backupdel="1"
        else
            echo "$test uebersprungen"
        fi
    ;;

esac

done<$DIRLIST

rm -R ${TMPBACKUP}

case $backupdel in
    0)
    ;;
    1)
ncftp -u"$USER" -p"$PASS" ftp://$HOST << EOF
cd $FTPDIR
rm -r $loeschen
quit
EOF
;;
esac

echo "Backup done!"
MFG
Datafreak
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Suche Backuplösung

Post by Roger Wilco »

Das Problem ist nur, dass man bei deinem Skript korrupte Datenbanken erhält, wenn während des Backups ein Schreibvorgang durchgeführt wird...
datafreak
Posts: 24
Joined: 2005-11-21 19:43
 

Re: Suche Backuplösung

Post by datafreak »

@Roger Wilco: Klar ist das Script nicht perfekt, aber er such eine Lösung seine Daten zu sichern. Von Datenbanken hatte er nix geschrieben.

Bis jetzt hatte ich noch keine Probleme, die Datenbankdumps wieder einzuspielen.
Man könnte aber vor den Backup die Datenbank sperren und somit sollte es keine Probleme beim Backup geben.

MFG
Datafreak
aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main
 

Re: Suche Backuplösung

Post by aubergine »

Was Roger meinte ist dieser Teil:

Code: Select all

tar -cvzf ${TMPBACKUP}/${datum}/mysql_dir.tar.gz /var/lib/mysql >/dev/null 2>&1
Das macht nur Sinn wenn die Datenbank aus ist.

Ein paar Zeilen darunter wird dann aber alles richtig gemacht:

Code: Select all

mysqldump -u$MYSQLADMIN -p$MYSQLPASS --opt --quote-names "$i"
Wobei du über eine Erweiterung nachdenken könntest:

Code: Select all

--triggers --routines --flush-logs --force --delete-master-logs --master-data
datafreak
Posts: 24
Joined: 2005-11-21 19:43
 

Re: Suche Backuplösung

Post by datafreak »

"/var/lib/mysql" sichere ich nur, falls die Dumps im Eimer sind.
Hatte einmal mit meinem Server Probleme, das meine Dumps einfach leer waren.

Mit den Dateien, konnte ich wenigstens das wichtigste retten.

Danke aubergine für den Tip.
Ich werd es mir mal anschauen.

MFG
Datafreak