Aug 2009 - das Restore Script ist in den Grundzügen fertig.
Die ursprüngliche Mindestanforderung war, daß man eine (Backup-) Sicherung auf dem gleichen Server in das gleiche Root-Verzeichnis zurücksichern können müsste.
Das war jedoch 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 Test gefahren werden (also unbedingt !!!).
Eine (TYPO3-) Domainsicherung muß auf einem beliebigen anderen Server wieder laufen !
Das bedeutet, man muß die in den gepackten tar Files enthaltenen (ehemals absoluten) Pfade besser "relativieren", also relativ zum "root"-Verzeichnis erstellen. Das funktioniert mit pushd und popd.
Geprüft habe ich, wie das Typo3 Backup von (als Beispiel:) www.fernsehmuseum.info (von unserem www9 Server) auf die Domain csstest2.rde.net (neu auf unseren www10 server) installiert wird. Auch war wichtig, welche Vorarbeiten im DNS Eintrag, im Apache Config bei den VHOST Einträgen und auf Typo3 Ebene im neuen Root-Verzeichnis gemacht werden mussten.
Die Reaktivierung einer nahezu bliebigen (gesicherten) Domain bis ca. 200 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 wieder aufgerufen werden kann.
Einen Linux Server für und mit Typo3 setze ich inzwischen in ca. 2 Stunden 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 16000 Anschluß und eigene DNS Server.
Das Restore Script 1.2 (in der Entwicklung)
#!/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 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.
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.


