Maresa P.: automatischer Backup auf FTP per CRON

Beitrag lesen

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