Sie sind hier : Homepage →  TYPO3 CMS - Info+Install→  Typo3 (4) Server Backup→  typo3 - Restore script

Aug 2009 - das Restore Script ist in den Grundzügen fertig.

Die ursprüngliche Anforderung war nur, daß man eine (Backup-) Sicherung auf dem gleichen Server in das gleiche Root-Verzeichnis zurücksichern können müsste.
.

Doch das war viel zu kurz gedacht.

Damit man die Funktionalität prüfen und den Inhalt des einzelnen Backups mit dem einzelnen Original überhaupt vergleichen kann, muß ja mal ein (Backup-Test) gefahren werden (eigentlich zwangsläufig und unbedingt !!!).
.

Jede einzelne (TYPO3-) Domain Sicherung muß nämlich auf einem ganz beliebigen anderen Server wieder komplett laufen !

Das bedeutet, man muß die (in den gepackten tar Files enthaltenen ehemals absoluten) Pfade "relativieren", also relativ zum "root"-Verzeichnis erstellen. Und das funktioniert mit pushd und popd.

Wenn also bei einem Server-Backup z.B. 12 virtuelle Hosts gesichert werden, muß der Restore-Script einen einzelnen V-Host nach Wahl auf einem xbeliebigen Server wieder zum Laufen bringen, und zwar mit einem einzigen Befehl und ohne Klimmzüge.

Geprüft habe ich das Konzept, wie das Typo3 Backup von (als Beispiel:) www.fernsehmuseum.info (von unserem damaligen www9-Server) auf die Domain csstest2.rde.net (neu auf unserem www10-server) installiert wird.

Auch war wichtig, welche Vorarbeiten im DNS Eintrag, im Apache VHOST-Config und auf Typo3 Ebene im neuen Root-Verzeichnis gemacht werden mussten.
.

Oberstes Kriterium : Die "Wiederanlaufzeit" nach einem Crash.

Die Reaktivierung einer nahezu bliebigen (gesicherten) Domain bis ca. 300 MB tar File dauert etwas über 1 Stunde, bis sie auf einem völlig neuen Suse Linux Webserver wieder läuft. Und es dauert weitere ca. 10 Minuten (DNS Um-Konfiguration) , bis diese rückgesicherte Domain von außen wieder unter dem alten vorhanden Domainnamen aufgerufen werden kann.

Einen Linux Server (virtuelle Maschine) für und mit Typo3 setze ich inzwischen in ca. 20 Minuten wieder auf. Für die erste Domain-Rücksicherung benötige ich etwas mehr als 1 Stunde, von da an gehts erheblich schneller. Für 8 Domains hatte ich etwa 4 Stunden gebraucht.
.
Vorausetzung ist ein schneller DSL 16.000 Anschluß und vor allem eigene DNS Server, auf denen ich den "reload" selbst anstoßen kann.

Nachtrag 2012 - mit den neuen virtuellen XEN Maschinen (Suse 12.1) geht das jetzt noch viel schneller.
.

Das Restore Script 1.2 (in der Entwicklung)

Anmerkung in 2012 - da gibts inzwischen auch eine aktuelle Version.

#!/bin/bash -u
### gerts Mini Ruecksicherungsscript - test auf www10 fuer Suse 11 !!
# includefile 1:  data file with one !! domain parameters
source rdomain.dat
# includefile2: server name, Linux version, folder path
source rserver.dat
## Datenbank erstellen - mache ich mit phpmyadmin vorher
######################################## Ruechsicherung der Daten incl Datenbank
if test -d $WORKFOLDER; then
    echo "### Das Verzeichnis $WORKFOLDER ist bereits vorhanden - erst loeschen mit rm"
    exit
  else
    echo "### ein neues Arbeitsverzeichnis wird angelegt"
    mkdir ./$WORKFOLDER
  fi

pushd ./$WORKFOLDER

echo "### Wechsel in $WORKFOLDER und extrahieren"

# Befehlsaufruf: tar xvfz  archiv-datei-name  wohin

echo "### extrahiere fileadmin in arbeitsverzeichnis "
tar xfz  ../*-fileadmin.tgz
echo "### extrahiere typo3conf"
tar xfz  ../*-typo3conf.tgz
echo "### extrahiere uploads"
tar xfz  ../*-uploads.tgz

echo "### extrahiere global extension"
tar xfz  ../*-global-ext.tgz

echo "### "
echo "### alle 4 files extrahiert in $WORKFOLDER "

popd

echo "### ----- bin wieder zurueck im restore Verzeichnis "
echo "### "
echo "### ----- jetzt beginnt die Mysql Ruecksicherung"

MYSQLFILE=`find *mysql*`

echo "### Mysql Restore von: $MYSQLFILE"

# mysql zip wird entpackt und in die mysql engine gepiped mit user / passw / db-name
zcat $MYSQLFILE | mysql -h 127.0.0.1 --user=$DBUS -p$DBPW $DBNA
echo "### Mysql Restore beendet"

echo "### kopiere /fileadmin aus arbeitsverzeichnis "
cp -R ./$WORKFOLDER/fileadmin $PFXWWW/$ROOT/
echo "### Restore Kopie von fileadmin beendet"
echo "### kopiere typo3conf"
cp -R ./$WORKFOLDER/typo3conf $PFXWWW/$ROOT/
echo "### Restore Kopie von typo3conf beendet"
echo "### kopiere  uploads"
cp -R ./$WORKFOLDER/uploads $PFXWWW/$ROOT/
echo "### Restore Kopie von upload beendet"
chown -R wwwrun:www $PFXWWW/$ROOT/
echo "### chown im domain root auf wwwrun:www gesetzt"
cp -R ./$WORKFOLDER/typo3 $PFXWWW/$TYPO3ROOT/
echo "### Restore Kopie der global-extensions beendet"
chown -R wwwrun:www $PFXWWW/$TYPO3ROOT/
echo "### chown im TYPO3 root auf wwwrun:www gesetzt"

echo "Dieser Scrpt schreibt noch kein Erfolgs-Log !!- unbedingt pruefen" | mail -s "Ein Restore-Script fuer $MYSQLFILE auf $DOMA auf dem $RDESERVER ist gelaufen" "$EMAILADR1"
echo "### "
echo "### "
echo "### Restore beendet - phpmyadmin pruefen - domain mit /typo3/install aufrufen und jetzt die aktuelle db setzen und cache tabellen anlegen lassen "
echo "### "
echo "### "

exit

Auch hier gibt es wieder 2 eigene andere Hilfsdateien

In den (Parameter-) Dateien rserver.dat und rdomain.dat (das "r" steht für restore) stehen die Variablen zur Ausführung. Da sind auch noch kleine Fehler drinnen.

Rücksichern kann und soll man immer nur eine Domain zur gleichen Zeit !!

Beachten Sie, daß es nicht "rdomains" sondern "rdomain" (ohne s) heißt. Es kann für ein "Restore" immer nur eine Domain spezifiziert werden - das ist (bei uns) Absicht.

Jedenfalls hat es so erstmal auf dem www10 Server funktioniert und ich bin zufrieden.
.

Startseite -- © 2001/2022 - Copyright by Dipl.-Ing. Gert Redlich / Germany - D-65191 Wiesbaden - Telefon-Nummer - Impressum