Debian – FTP Backup Script

Heute stelle ich euch kurz ein kleines FTP Backup Script vor dass ich selbst verwende.
Das Forum befindet sich z.b. unter /var/www/forum

Dort hinein soll die Datenbank des Forums gesichert werden. Anschließend soll der Ordner als .tar.gz verpackt und auf einen entfernten FTP Server geladen werden.
Anschließend werden die lokalen Backupdateien (die .tar.gz und die .sql Datei wieder gelöscht). Hier führt folgendes Shellscript zur Lösung:

#!/bin/sh
NAME="forum-fullbackup"
SUFFIX="tar.gz"
DATE=`date +"%d-%m-%Y"`
FULLNAME="$NAME-$DATE.$SUFFIX"
SQLNAME="forum-sqlbackup"
SQLSUFFIX="sql"
FULLSQLNAME="$SQLNAME-$DATE.$SQLSUFFIX"

cd /var/www/forum
mysqldump -u {DATENBANKUSER} -p{DATENBANKPASSWORT} {DATENBANKNAME} > $FULLSQLNAME
cd /var/www/

tar czfv $FULLNAME forum/

ftp -inv {FTPSERVER} << EOF
user {FTPUSERNAME} {FTPPASSWORT}
put $FULLNAME
bye
EOF

rm -f $FULLNAME
cd /var/www/board
rm -f $FULLSQLNAME

Die in geschweiften Klammern angegebenen Werte müssen individuell angepasst werden. Ich übernehme keine Haftung für evtl Schäden oder ähnliches, die durch falsche Benutzung passieren könnten. Das Script läuft bei mir einwandfrei.

Nun könnten wir das Script noch als Cronjob laufen lassen um das Backup zu automatisieren. Das Shellscript muss selbstverständlich ausführbar gemacht werden, bevor es benutzt werden kann.

Filed under: EDV, Linux

4 Comments

  1. Das war erfreulich – 1 .Treffer bei der Suche und das EOF wusste ich nicht und …
    Wirklich sauber und klar gemacht – ein erstklassiges HowTo – selten auf den LINUX Seiten!
    Gruß
    Michael

    • Vielen Dank für den Kommentar 🙂 Man(n) gibt sich Mühe 🙂

    • Hallo,

      sicherlich für die Leser auch interessant. Im Endeffekt is ja eh nichts dabei, solche Scripte zu schreiben.
      Aber für die, die sich nicht mit der Thematik befassen wollen, kommt sowas natürlich genau recht.
      Schönes Script. Danke für den Link.

      Gruß Florian


Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Comment *
Name *
Email *
Website