Hallo,
Hi Thomas!
Meiner Meinung nach solltest Du auf dem Ausgangsserver das komplette Verzeichnis taren (dann noch evtl. packen: gzip oder bzip2) und dann diesen einen Tarball mit ftp hochladen.
Vielen Dank für Deine Hilfe. Ich habe das mal so umgesetzt:
----------------------------------
Datei 'backup', welche per CRON einmal täglich aufgerufen wird:
#!/bin/sh
Apache runterfahren
service httpd stop
Datums-String generieren
DATUM=date '+%Y-%m-%d'
Dump der Datenbank erstellen
mysqldump -uUSERNAME -pPASSWORD -hlocalhost --opt DATENBANKNAME > /tmp/mt-db1.sql
Tarball mit Files aus htdocs und DB Dump erstellen
tar -cf /tmp/mt.tar /home/httpd/vhosts/mt/htdocs /tmp/mt-db1.sql
Apache wieder starten
service httpd start
Tarball per FTP auf Backup-Server speichern
ftp -n HOSTNAME<<*eof
quot user USERNAME
quot pass PASSWORD
lcd /tmp
put mt.tar
rename mt.tar mt-${DATUM}.tar
bye
*eof
loeschen des lokalen Tarballs und des MySQL Dumps
rm -f mt-db1.sql
rm -f mt.tar
-----------------------------
Das Script funktioniert super, der Dump wird erzeugt, der Tarball wird generiert und auch hochgeladen. Lade ich mir jedoch den tarball per FTP runter (GET tarballname.tar) und versuche in auszupacken, bekomme ich folgende Fehlermeldung:
[root@host cron.daily]# tar -xf mt-2004-05-18.tar
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers
tar: Error exit delayed from previous errors
Fragen:
- Woran kann das liegen? Was mache ich beim "verpacken" falsch?
- Gibt es in meinem Script noch etwas zu verbessern?
Vielen Dank!
Maresa