ich habe bereits per duplicity/ftplicity eine sehr gute backup lösung realisiert. ich habe aber auch festgestellt das duplicity sehr ressourcen hungrig ist, und bei sehr grossen datenmengen es zu problemen kommen kann. duplicity/ftplicity will meistens mehr als 2-3 verbindungen zu ftp server aufbauen. dieses lassen aber die meisten provider ftp´s nicht zu.
bei ovh sind beispielsweise 2 verbindungen per IP möglich. das ist bei sehr grossen datenmengen eventuell für duplicity ein problem. wenn duplicity versucht eine dritte verbindung aufzubauen dann bleibt diese hängen. ich möchte aber auch per filesystem auf die gesicherten files zugreifen und die lokalen linux befehle auf dem ftp direkt ausführen können. der isp gibt uns ja nur beschränkte modifizierungsrechte auf dem ftp und dieses kann bei pureftpd zu problemen führen. mann kann dann beispielsweise keine versteckten files aus dem verzeichniss löschen.
ich habe mir rsync angeschaut und eine methode gefunden den ftp als lokales verzeichniss zu mounten. dadurch kann ich dann per rsync die sicherung in das gemountete verzeichnis kopieren (eigentlich meinen isp backup ftpserver). dadurch habe ich meine sicherung direkt im filesystem des servers gemountet, und kann auf die backups direkt zugreifen und auch die debian befehle voll anwenden.
rsync kann ja sehr viel und eine inkrementelle sicherung bei rsync dauert ein paar minuten.
rsync ist ein sehr schnelles tool, was sehr stabil läuft. ich werde in diesem howto beschreiben wie man rsync mit einem ftp-server koppelt und eine kopie des gesamten servers auf dem FTP ablegen kann. wenn ein file in verwendung sein sollte dann wird dieses einfach im nächsten durchlauf gesichert. rsync verwendet das ssh protokoll zum sichern der backup daten. da ftp das ftp protkoll verwendet müssen wir mit der curftps software dieses anpassen. hier die beschreibung:
installation des curlftps software packets
# apt-get install curlftps
mounten des ftp server per curlftps. dadurch wird der ftp server immer als verzeichniss /mnt/ftp am server aufgelistet. die anmeldung übernimmt dann curlftps automatisch sobald wir uns in das verzechniss hinenbewegt haben.
so mounten wir ein ftp verzeichniss per shell:
# curlftpfs benutzer:passwort@ftp.meinbackup.de /mnt/ftp/
installation des rsync packets
#apt-get install rsync
nachdem rsync installiert worden ist sollte man sich über rsync befehle gedanken machen. rsync kann auch rechte/gruppen/rekursiv/archivmässig angewendet werden. das ftp protokoll versteht nichts von chown/chgrp/chmod! dadurch können wir beim sichern die rechte der files nicht mitnehmen. wenn ein file oder ein verzeichniss aus dem backup benötigt werden sollte dann kann man das ganz leicht von /mnt/ftp rauskopieren und in den ursprungspunkt reinkopieren. dann mit #chown die rechte REKURSIV auf das verzeichniss anpassen und das rücksichern ist fertig.
mit diesem rsync befehl machen wir eine komplette SPIEGELUNG des /var/www/virtual folders. die erste sicherung wird ein full backup alle nachfolgeden backups werden inkrementell.
#rsync -rv --delete /var/www/virtuell /mnt/ftp
anschliessend setzen wir einen cronjob der alle 59 minuten einen abgleich der daten auf dem ftp durchführt.
#Rsync FTP-BACKUP
*/59 * * * * /usr/bin/rsync -rv --delete /var/www/virtual /mnt/ftp
über einen feedback würde ich mich freuen.
MENKI