Zum Inhalt springen

Automatisches TYPO3 6.x Backup per Cronjob bei Mittwald

Dieses Backupscript entnimmt alle relevanten Daten aus der TYPO3 6.x LocalConfiguration.php Datei.

1. Erstelle ein Verzeichnis /html/typo3-backup

2. Erstelle in /html eine Datei daily.sh mit folgendem Inhalt:

#!/bin/bash

# Variablen fuer Datum
dayofmonth=`date ‚+%d-%m-%Y’`
dayofweek=`date ‚+%A’`

PFAD_T3=/html/typo3/
PFAD_BACKUP=/html/typo3-backup

SITENAME=`cat $PFAD_T3/typo3conf/LocalConfiguration.php | grep  ’sitename‘ | cut -d „‚“ -f 4 `
DB_NAME=`cat $PFAD_T3/typo3conf/LocalConfiguration.php | grep  ‚database‘ | cut -d „‚“ -f 4 `
DB_USER=`cat $PFAD_T3/typo3conf/LocalConfiguration.php | grep ‚username’| cut -d „‚“ -f 4`
DB_PASSWORD=`cat $PFAD_T3/typo3conf/LocalConfiguration.php | grep -w ‚password’| cut -d „‚“ -f 4`
DB_HOST=`cat $PFAD_T3/typo3conf/LocalConfiguration.php | grep ‚host’| cut -d „‚“ -f 4`

echo „——————————–“
echo „Sicherungsscript fuer: $SITENAME“
echo „——————————– “
echo „Typo3 Auftritt: $SITENAME“
echo „Tag des Monats: $dayofmonth“
echo „Tag der Woche:  $dayofweek“
echo „——————————–“
echo “ Kontrolle der Verzeichnisse bzw. der Typo3 Daten“
echo „——————————– “
echo „Typo3-Pfad $PFAD_T3“
echo „Typo3-Backuppfad $PFAD_BACKUP“
echo „Datenbank Name $DB_NAME“
echo „Datenbank USER $DB_USER“
echo „Datenbank Passwort $DB_PASSWORD“
echo „Datenbank Host $DB_HOST“
echo „——————————–“
echo „Erstelle Sicherung der Datenbank…“
mysqldump -u $DB_USER -p$DB_PASSWORD -h $DB_HOST $DB_NAME | gzip > $PFAD_BACKUP/$dayofmonth.database.sql.gz

echo „——————————–“
echo „Sichere Dateien“
tar cfz $PFAD_BACKUP/$dayofmonth.files.tar.gz $PFAD_T3 –exclude=backup –exclude=crawler –exclude=typo3_src-* –exclude=typo3temp

#########################
# Finde alles was älter als 7 Tage ist:
# /usr/bin/find $PFAD_BACKUP/ -mtime +7 -type f -exec /bin/ls {} \;
echo „LÖSCHE alles was aelter als 3 Tage ist“
/usr/bin/find $PFAD_BACKUP/ -mtime +3 -type f -exec /bin/rm {} \;

3. Gehe in das Mittwald Kundencenter und erstelle einen neuen Cronjob der 1x Täglich (z.B. um 2 Uhr) ausgeführt wird:
– Serverseitiger Aufruf
– Pfad: /html/daily_backup.sh
Zum Testen des Scripts kann man dieses auch vorher „von Hand“ in Putty ausführen.
Man sollte sich dabei im html Verzeichnis „befinden“ 🙂

Zurückspielen des Backups

Es ist sinnfrei ein Backup zu haben wenn man nicht weiss wie man es zurückspielt 🙂

1. Datenbank zurückspielen:
mysql -h $db_host1 -u $user1 -p$pass1 $db1 < backup/[NAME DES DATENBANKDUMPS].sql

2. Zurückspielen der TYPO3 Verzeichnisstruktur:

tar xzf /html/typo3-backup/[NAME DER BACKUPDATEI].gz

Damit wird in das Verzeichnis htm/typo3-backup die TYPO3 Verzeichnisstruktur entpackt.

Das aktuelle TYPO3 Verzeichnis nun löschen oder umbenennen und das soeben entpackte dorthin verschieben.

Fertig.

Schreibe einen Kommentar