welche verzeichnisse ins backup?

murray

Registered User
Hallo zusammen.

Ich hab seit kurzem einen V-Server bei strato mit Plesk 7.5 Reloaded. Soweit ich das sehe unterstützt meine Lizens keine Backup-Funktion. Also bin ich dabei mir ein eigenes Backup-Script zu basteln.

Letzt stellt sich nur die Frage, welche Verzeichnisse da denn mit reinmüssen. Wo packt Plesk denn die ganzen Sachen hin?

Ich bin mal so weit gekommen:

/var/www/vhosts
/var/qmail
/var/log


Was fehlt noch?

Danke schonmal!

regards, murray
 
zu Plesk: keine Ahnung.

Du solltest aber auf jeden Fall das System-Konfigurationsverzeichnis mitsichern

Und dazu noch am besten die Datenbanken

Sysconfig
/etc/

Datenbanken normal
/var/lib/mysql

Datenbanken kannst auch vorher dumpen:
mysqldump -u root -p DEINPASSWORT --all-databases > mysqldump.sql ; gzip mysqldump.sql
 
Ich sicher eigentlich immer ziemlich komplett:

/var
/root
/home
/etc

Ist alles was man auf jeden Fall später für ein komplettes Desaster Recovery benötigt.

Gruß,
Thilo
 
wie kann mann alles mit ein befehl sichern ? oder muss du alles einzelt machen wenn ja kanst du bitte für alle befehle schreiben.


danke

tty0 said:
Ich sicher eigentlich immer ziemlich komplett:

/var
/root
/home
/etc

Ist alles was man auf jeden Fall später für ein komplettes Desaster Recovery benötigt.

Gruß,
Thilo
 
Ich verwende dazu ein Rsync Skript. Siehe unten:
Code:
#!/bin/sh
# Author: Brice Burgess - bhb@iceburg.net
# rbackup.sh -- secure backup to a remote machine using rsync.

# Directories to backup. Separate with a space. Exclude trailing slash!
SOURCES="/home/ /etc /var /root"

# IP or FQDN of Remote Machine
RMACHINE=<ip>

# Remote username
RUSER=root

# Location of passphraseless ssh keyfile
RKEY=/root/.ssh/rsync-key

# Directory to backup to on the remote machine. This is where your backup(s) will be stored
# Exclude trailing slash!
RTARGET="/backups/hostname"

# Set the number of backups to keep (greater than 1). Ensure you have adaquate space.
ROTATIONS=3

# Your EXCLUDE_FILE tells rsync what NOT to backup. Leave it unchanged, missing or
# empty if you want to backup all files in your SOURCES. If performing a
# FULL SYSTEM BACKUP, ie. Your SOURCES is set to "/", you will need to make
# use of EXCLUDE_FILE. The file should contain directories and filenames, one per line.
# An example of a EXCLUDE_FILE would be:
# /proc/
# /tmp/
# /mnt/
# *.SOME_KIND_OF_FILE
EXCLUDE_FILE="/path/to/your/exclude_file.txt"

# Comment out the following line to disable verbose output
VERBOSE="-v"

#######################################
########DO_NOT_EDIT_BELOW_THIS_POINT#########
#######################################

if [ ! -f $RKEY ]; then
  echo "Couldn't find ssh keyfile!"
  echo "Exiting..."
  exit 2
fi

if ! ssh -i $RKEY $RUSER@$RMACHINE "test -x $RTARGET"; then
  echo "Target directory on remote machine doesn't exist or bad permissions."
  echo "Exiting..."
  exit 2
fi

# Set name (date) of backup.
BACKUP_DATE="`date +%F_%H-%M`"

if [ ! $ROTATIONS -gt 1 ]; then
  echo "You must set ROTATIONS to a number greater than 1!"
  echo "Exiting..."
  exit 2
fi

#### BEGIN ROTATION SECTION ####

BACKUP_NUMBER=1
# incrementor used to determine current number of backups

# list all backups in reverse (newest first) order, set name of oldest backup to $backup
# if the retention number has been reached.
for backup in `ssh -i $RKEY $RUSER@$RMACHINE "ls -dXr $RTARGET/*/"`; do
        if [ $BACKUP_NUMBER -eq 1 ]; then
                NEWEST_BACKUP="$backup"
        fi

        if [ $BACKUP_NUMBER -eq $ROTATIONS ]; then
                OLDEST_BACKUP="$backup"
                break
        fi

        let "BACKUP_NUMBER=$BACKUP_NUMBER+1"
done

# Check if $OLDEST_BACKUP has been found. If so, rotate. If not, create new directory for new backup.
if [ $OLDEST_BACKUP ]; then
  # Set oldest backup to current one
  ssh -i $RKEY $RUSER@$RMACHINE "mv $OLDEST_BACKUP $RTARGET/$BACKUP_DATE"
else
  ssh -i $RKEY $RUSER@$RMACHINE "mkdir $RTARGET/$BACKUP_DATE"
fi

# Update current backup using hard links from the most recent backup
if [ $NEWEST_BACKUP ]; then
  ssh -i $RKEY $RUSER@$RMACHINE "cp -al $NEWEST_BACKUP. $RTARGET/$BACKUP_DATE"
fi

#### END ROTATION SECTION ####

# Check to see if rotation section created backup destination directory
if ! ssh -i $RKEY $RUSER@$RMACHINE "test -d $RTARGET/$BACKUP_DATE"; then
  echo "Backup destination not available."
  echo "Make sure you have write permission in RTARGET on Remote Machin  e."
  echo "Exiting..."
  exit 2
fi

echo "Verifying Sources..."
for source in $SOURCES; do
        echo "Checking $source..."
        if [ ! -x $source ]; then
     echo "Error with $source!"
     echo "Directory either does not exist, or you do not have proper permissions."
     exit 2
   fi
done

if [ -f $EXCLUDE_FILE ]; then
EXCLUDE="--exclude-from=$EXCLUDE_FILE"
fi

echo "Sources verified. Running rsync..."
for source in $SOURCES; do

  # Create directories in $RTARGET to mimick source directory hiearchy
  if ! ssh -i $RKEY $RUSER@$RMACHINE "test -d $RTARGET/$BACKUP_DATE/$source"; then
    ssh -i $RKEY $RUSER@$RMACHINE "mkdir -p $RTARGET/$BACKUP_DATE/$source"
  fi

  rsync $VERBOSE $EXCLUDE -a --owner --group --perms --delete -e "ssh -i $RKEY" $source/ $RUSER@$RMACHINE:$RTARGET/$BACKUP_DATE/$source/

done

exit 0
 
tty0 said:

dort liegt aber noch 'ne Menge überflüssiges Zeug rum, also wenn der Backup Space kritisch ist, sollte man dort genauer aussuchen, was man benötigt.

Auf meinem Server sieht das z.B. so aus:

1.6M /var/backups
329M /var/cache
3.4G /var/domains
223M /var/lib
0 /var/local
4.0K /var/lock
1.4G /var/log
228K /var/mail
0 /var/opt
149K /var/run
97K /var/spool
164K /var/tmp
66M /var/www
9.2M /var/www-ssl

Da kann man schnell mal ein paar GB einsparen.
 
Sorry, wenn ich den Thread nun wieder "ausgrabe", aber ich hab da noch ne Frage zu:

Angenommen, ich geb als SOURCES "/" ein - eignet sich diese Form des Backups, zB im Falle eines HDD-Crashes oder einer Fehlkonfiguration in Confixx oder in der Shell, den Server wieder so herzustellen, wie er zum Zeitpunkt des Backups war?
Werden Dinge wie DBs, Postfächer und Passworteinstellungen mit diesem Script automatisch mitgesichert? Oder sollte man besser die DBs im Vorfeld dumpen?
Wie verhält es sich mit Confixx-Einstellungen?
Empfiehlt es sich da, das Script in der Notfallkonsole zu starten?

Oder ist dieses Script für die Art Backup, wie es mir vorschwebt (im Fall des Falles das Backup einfach zurückkopieren und sich freuen, dass alles wieder so ist, wie es gestern/letzte Woche war), garnicht geeignet?
Und wenn nicht, hat jemand eine Empfehlung für ein komplettes Backup?

Schonmal vielen Dank

Gruß,
Harry
 
Schau mal was ich gefunden habe.

Hiermit sichere ich meinen server auf einen ftp den mir zuhause eingerichtet habe. Mit dsl und dyndns ja kein problem. Das schöne an der lösung ist, dass du platte deines vservers nicht brauchst zum zwischenspeichern

HTML:
tar cpjf - $dir | ncftpput -u $ftp_user -p $ftp_password -c $remote_host /$directory.tar.bz2

Ich würde dir aber raten vorher dem mysql zu stoppen oder einen dump zu machen

HTML:
mysqldump -A --password=$mysql_root_pw | bzip2 -c | ncftpput -u $ftp_user -p $ftp_password -c $remote_host /mysql_complete.tar.bz2

Die wiederherstellung sollte so funktionieren.

HTML:
ncftpget -u $ftp_user -p $ftp_passwd -c ftp://$backup_host:/$backupfile | tar xpjf -

Ich hab das recovery noch nicht getestet, bei netfabrik kostest die server installation 10 eu, wäre nett wenn es mal jemand testen würde, bei dem die neuinstallation nichts kostet.

Gruessle

Oliver

P.S. Das script ist nicht von mir, daher kann ich dazu auch keine grossen fragen beantworten.
 
okossmann said:
P.S. Das script ist nicht von mir, daher kann ich dazu auch keine grossen fragen beantworten.

Hi okossmann,
das gefällt mir sehr gut, da ich auch einen eigenen FTP-Server über DynDNS habe. Wo hast Du denn das Script gefunden? Vielleicht kann man sich mit dem Ersteller in Verbindung setzen.
Ein Backup ist schließlich sehr wichtig, denn keine Festplatte hält ewig :rolleyes:

Hailender
 
Hola,

wenn du mich auf dem laufenden hällst :).

hxxp://www.rootforum.de/forum/viewtopic.php?p=250208&highlight=#250208

Guessle

Oliver
 
Hi,

haste Dir mal das hier angesehen?

h**p://www.strato-faq.de/indexe.php4?base=view.php4%3Farticleid%3D1193%26subcatid%3D2.4.4.12

Gruß, Ingo
 
murray said:
Ich hab seit kurzem einen V-Server bei strato mit Plesk 7.5 Reloaded. Soweit ich das sehe unterstützt meine Lizens keine Backup-Funktion.
Sicher? nicht unterstützt <> nicht installiert.

Ich habe auch seit kurzem einen V-Server bei Strato. Nachdem ich mit mit Hsuchis Tipp den Update Button wiederhergestellt und das Plesk Backup nachinstalliert habe, konnte ich ohne Probleme die Plesk Backupfunktion nutzen, denn dieses wird von meinem Strato Lizenzkey unterstützt.

Für den Rest nehme ich Reobackup (siehe Link von edvsb)

Und in nach Zukunft kommt ja auch noch das Backupcontrol von Strato
Strato Support said:
...
Derzeit steht Ihnen die BackupControl Funktion leider noch nicht zur Verfügung, da zur Zeit noch letzte Tests damit gemacht werden müssen. Wir bitten daher um etwas Geduld.
...

Gruß flyingoffice
 
Ich bin nun soweit, dass Script einzusetzen - ich scheiter bisher nur hierran:

# Location of passphraseless ssh keyfile
RKEY=/root/.ssh/rsync-key

Den Key erzeug ich wie?
Bzw... selbst bei ssh ist das Passwort doch einfach das des Users auf dem BackupServer, oder?
 
Back
Top