Beiträge von Lucan

    System Backup mit Duplicity

    Auf folgendem System getestet:
    Debian Lenny

    Zuerst loggen wir uns per SSH auf unserem Server ein.
    Wir updaten das System:

    Code
    aptitude update
    aptitude safe-upgrade


    Danach installieren wir uns Python sowie librsync, lftp und ncftp

    Code
    aptitude install python-dev
    aptitude install librsync-dev
    aptitude install ncftp
    aptitude install lftp


    Anschliesend laden wir uns Duplicity runter

    Code
    cd /tmp
    wget http://launchpad.net/duplicity/0.6-series/0.6.08b/+download/duplicity-0.6.08b.tar.gz

    Wenn wir das gemacht haben, entpacken und installieren wir duplicity

    Code
    tar xvzf duplicity-0.6.08b.tar.gz
    cd duplicity-0.6.08b
    python setup.py install


    Jetzt
    erstellen wir uns einen GPG Key

    Code
    gpg –-gen-key

    (beim kopieren aufpassen, lieber von Hand eingeben)

    Alle nun kommenden Fragen bestätigen wir durch das drücken unserer [ENTER] Taste.
    Bis folgende Frage auftauch:
    Is this correct? (y/N) Das bestätigen wir mit y

    Anschliesend gibst du dort die geforderten Eingaben an (Dein Name, Email Adresse etc.

    Bis folgende Frage kommt:

    Zitat

    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

    Dort bestätigen wir alles mit O

    Jetzt muss eine Passphrase angegeben werden - sprich Passwort deiner wahl angeben und bestätigen. - GUT MERKEN!

    Anschliesend wird der GPG Key erstellt.
    (Das kann ein weilchen dauern, um das ganze zu beschleunigen hilft es eine 2te Konsole zu öffnen und ein paar Eingaben zu tätigen)


    Sobald der Key erstellt wurde, erhaltet ihr so eine Aussage:

    Hier müsst ihr euch den Key in folgender Zeile merken:

    Zitat

    gpg: key XXXXXXX marked as ultimately trusted


    Danach installieren wir uns Duplicity Wrapper Script:

    Code
    cd /tmp
    wget http://sourceforge.net/projects/ftplicity/files/duply%20%28simple%20duplicity%29/1.5.x/duply_1.5.2.3.tgz/download
    tar xvzf duply_1.5.2.3.tgz
    cp duply_1.5.2.3/duply /usr/local/bin


    Darauf erstellen wir uns ein Backup Profil:

    Code
    duply ProfilName create

    (ProfilName durch den gewünschten Namen ersetzen z.B. Server1)

    Jetzt passen wir unsere Config Datei an:

    Code
    cd /root/.duply/ProfilName
    nano conf


    Und passen in der Datei folgende Zeilen an:

    Zitat

    GPG_KEY='_KEY_ID_'
    GPG_PW='_GPG_PASSWORD_'

    Statt _KEY_ID_ gebt ihr euren GPG Key ein.
    Statt _GPG__ gebt ihr eure Passphrase ein, die Ihr beim erstellen des GPG Keys eingegeben habt.


    Danach ersetzen wir in der Conf folgende Zeile:

    Code
    TARGET='scheme://user[:password]@host[:port]/[/]path'

    Mit:

    Code
    TARGET='ftp://FTPBenutzer@FTPserverhostname/BackupVerzeichniss/'
    TARGET_PW='FTPBenutzerPasswort'

    (Natürlich alle Angaben bei euch anpassen)

    Wenn ihr das gemacht habt, passen wir noch folgende Angabe an:

    Code
    # base directory to backup
    SOURCE='/path/of/source'

    Hier geben wir an, welche Verzeichnisse wir sichern wollen.

    In unserem Beispiel sichern wir den gesamten Server geben dort also folgendes an:

    Code
    # base directory to backup
    SOURCE='/'

    Wir speichern die Datei ab.

    Der Datei geben wir jetzt die richtigen Rechte

    Code
    chmod 600 /root/.duply/ProfilName/conf

    Anschliesend erstellen wir uns das Backup Verzeichniss, welches wir in der Config angegeben haben auf unserem FTP Backup Space

    Code
    lftp ftpbenutzername:ftppasswort@ftpserverhostname.de

    (Natürlich alle Angaben bei euch anpassen)

    Wenn ihr anschliesend enter drückt müsste das ganze so aussehen:

    Zitat

    lftp ftpbenutzername:ftppasswort@ftpserverhostname.de:~>


    Jetzt gebt ihr folgendes ein:

    Code
    mkdir BackupVerzeichniss

    (Das BackupVerzeichniss, dass ihr vorher in der Config angegeben habt).
    Nun schliesen wir die verbindund durch die Eingabe von

    Code
    exit


    Da wir den ganzen Server sichern wollen, müssen wir noch eine exclude Datei anlegen, die bestimmte Verzeichnisse vom Backup ausschliest, da das Backup sonst Fehlerhaft wird.

    Code
    nano /root/.duply/ProfilName/exclude


    Dort geben wir folgendes ein:

    Anschliesend speichern wir die Datei ab und geben Ihr die passenden Rechte:

    Code
    chmod 600 /root/.duply/ProfilName/exclude


    Danach legen wir erstmal ein Full Backup an:

    Code
    duply ProfilName backup

    (ProfilName wieder anpassen)


    Sobald das Backup durch ist, legen wir uns einen Cronjob an, der folgendes bewirkt:

    * 1 mal im Monat ein Full Backup
    * alle 12 Stunden ein inkrementelles Backup
    * Veraltete Backups werden gelöscht (älter als 1 Monat)

    also geben wir folgendes ein:

    Code
    crontab -e

    und fügen folgenden Inhalt ein:

    Code
    # run the (incremental) backup every 12 hours!
    00 */12 * * * /usr/local/bin/duply ProfilName backup
    
    
    
    
    # do a full backup once per month & delete old backups
    27 3 1 * * /usr/local/bin/duply ProfilName full && /usr/local/bin/duply ProfilName purge --force

    (ProfilName wieder anpassen)
    Und speichern das ganze wieder ab.


    Und das wars auch schon, die Backups werden anschliesend immer automatisch erstellt und gelöscht (sofern veraltet) und jeder Admin kann beruhigt schlafen ;)


    ------


    Wer vor einem Backup noch seine gesamten MYSQL Datenbanken backuppen will, muss folgendes machen:

    Code
    nano /root/.duply/ProfilName/pre

    (ProfilName natürlich wieder anpassen)
    Dort fügen wir folgendes ein:

    Code
    /usr/bin/mysqldump –-all-databases -u root -pDEINMYSQLROOTPASSWORT > /home/exampleuser/db.sql

    DEINMYSQLROOTPASSWORT dort schreibst du natürlich dein Mysql Root Passwort hin.
    Zum schluss machen wir die Datei ausführbar:

    Code
    chmod 700 /root/.duply/ProfilName/pre

    (ProfilName natürlich wieder anpassen)

    Das ganze bewirkt, dass jetzt immer vor dem Backup alle Mysql Datenbanken im Ordner /mysqldump/ gesichert werden.
    Beachte dabei aber, dass das Backup die Mysql Datenbank während des Backups sperrt, damit keine Inkonsistenz entsteht.
    Sprich Websites die auf die Datenbank zugreifen, werden eben jene für den Dump nicht erreichen können.
    Bei kleinen Datenbanken geht das allerdings sehr schnell, so dass das ganze nicht ganz so schlimm ist.


    -------


    Zum Schluss noch ein paar Beispiel befehle:

    Veraltete Backups anzeigen und löschen:

    Code
    duply purge ProfilName –force

    Komplettes Backup nach /tmp zurückspielen:

    Code
    duply ProfilName restore /tmp

    z.B. die Datei test.php von vor 2 Tagen in /tmp wiederherstellen:

    Code
    duply ProfilName fetch test.php /tmp 2D

    Zu Duply:

    Durch die Eingabe von 

    Code
    duply usage

    erhaltet ihr eine Übersicht an Befehlen


    zusätzliche Infos:
    http://duplicity.nongnu.org/


    Viel Erfolg ;)

    Mach folgendes:

    Log dich als Admin im ispCP ein

    Gehe zu Einstellungen


    Jetzt setzt du Strikte Top Level Domain Verifikation auf deaktiviert
    Strikte Second Level Domain Verifikation ebenfalls deaktivieren

    Maximale Anzahl von Subdomains, aus denen eine Domain bestehen darf
    (Ohne SLD & TLD)

    und

    Maximale Anzahl von Subdomains für Subdomains

    setzt du auf 10.

    Speicher ab und teste es nochmal

    Zitat

    Wir wissen das es viele fertige Scripte dafür gibt. Es sollte aber simpel und effektiv sein. Daher ein eigenes.

    Ich hab mich lange mit der Problematik beschäftigt und habe nach unzähligem Testen duplicity als sehr einfach und effektiv als klaren Sieger gewählt.

    Gerne verfasse ich dafür auch, sofern zugelassen ein Ausführliches How to, sodass auch jemand der 0 Ahnung von Linux hat sein System ohne Probleme backuppen kann.

    Zitat

    Am besten halbieren wir noch einmal alle Preise damit wir nicht so viel verdienen, oder wie ist hier Ihre Vorstellung?!

    Ich frage mich wie Sie darauf kommen sowas zu Fragen, zeigen Sie mir doch bitte die Stelle wo Ich sage, das die Server hier ein schlechtes Preisleistungs verhältnis haben oder zu teuer sind.

    Zitat

    Wenn Sie meinen das Sie auf Webspace oder einem anderen vServer Ihre Daten sichern können, warum machen Sie das nicht? Weil das was kostet?!


    Ich bitte Sie gründlich zu lesen, dann wüssten Sie, das ich das tue.

    Zitat


    Zusätzliche Features wie Backupspace per FTP sprengen den Rahmen unserer Kalkulationen der Produkte die wir in großen Mengen vertreiben und haben ihren entsprechenden individuellen aber durch unsere Einkaufspreise gerechten Preis. D.h.: Wenn unser Backupspace häufiger gemietet wird, wird auch dieser im Preis fallen und kein Individualprodukt mehr sein.


    Ich sprach hier nicht von einer zusatz Leistung sondern von einer alternative.

    Nehme ich meinen VolksServer4000, so habe ich ja rein theoretisch platz um 3 120 GB Backups abzuspeichern.
    Wenn die Funktion für mich gegen 100GB oder auch nur 60GB Backup Space getauscht werden könnte, wäre ich mehr als zu frieden.


    Ich persönlich finde das ganze hier ein bisschen starr, es wird immer nur darauf argumentiert, das Netcup das beste ist, was es gibt.
    Also Herr Preuß, nehmen Sie sich doch einfach mal die Kritik zu herzen anstatt ständig darauf zu pochen das ich angeblich nicht bereit bin ein paar € auszugeben.
    Woran es definitiv nicht scheitert.


    Es ging mir bei meinem Satz:

    Zitat

    D) Backup Space wenigstens zu einem Erschwinglichen Preis anbieten.
    Es ist momentan ja Preiswerter sich nen vServer zu mieten und den als Backup Space zu nutzen.

    Lediglich darum, das ich es nicht einsehe bei der selben Firma für 10GB Backup Space 5€ zahle für den selben Preis aber auch einen vServer mit 30GB bekomme, wo ich ja rein tehoretisch auch meine selbst angelegten Backups wieder auf Ihrem Storage speichern kann (Indem ich ein Backup des vServers anlege).

    Die Backup Funktion hier ist leider in meinen Augen nicht zu gebrauchen.
    Ich sicher jetzt meine Server gegenseitig mit Duply.

    Das doofe dabei ist nur, man braucht zusätzliche Server wo noch Kapazitäten frei sind um die Backups auch abzulegen.


    Die einzigen Sinnvollen Lösung die Netcup meiner Meinung nach Einführen könnte wären

    A) Backups wärend der vServer online ist.
    B) Für den Backup Prozess wird der Server herunter gefahren, das Backup erstellt und auf eine extra Partition des Servers verschoben und erst von dort aus wird das Backup auf den Storage gezogen (Vorteil hier: Die Offline Zeit ist wohl sehr gering)
    C) Statt der Backup Funktion kostenlosen Backup Space anbieten.

    D) Backup Space wenigstens zu einem Erschwinglichen Preis anbieten.
    Es ist momentan ja Preiswerter sich nen vServer zu mieten und den als Backup Space zu nutzen.


    Allerdings denke ich nicht, dass sich dies bezüglich hier etwas ändern wird, wieso denn auch - Netcup würde es zusätzlich kosten bereiten, da lässt man lieber ein paar Kunden im Regen stehen.


    Just my 2 Cents.

    OT: im übrigen ist apt-get veraltet und man sollte aptitude verwenden.

    Zu deinem Froxlor problem:


    gff. falsche bzw fehlende sources in der sources.list?

    Ich weiss sowieso nicht wieso sich Nectup weigert ne richtige Snapshot funktion anzubieten, wobei der Server online bleibt.

    Da kommt dann immer wieder die leier mit der inkonsistenz etc.

    Ich hab schon X Snapshot Backups bei anderen Anbietern gemacht und nie war eins Inkonsistent.


    Und selbst wenn, einfach die Wahl stellen -> Server bleibt online -> ja/nein und gut ist.