monatliches Fullbackup, tägliches inkrementelles Backup

  • Hallo zusammen,


    ich suche eine Lösung, bei meinem vserver monatlich ein Fullbackup und täglich ein inkrementelles backup durchzuführen. Bei dem täglichen Backup wären mir vor allem Ordner mit den Webseiten und die MySQL Datenbanken wichtig. Über einen eigenen backup-ftp server verfüge ich nicht. Die Forensuche und die Wiki haben mir leider nicht weitergeholfen.


    Ich habe für das Backup der MySQL Datenbanken den MySQLDumper als potentielle Lösung in Erwägung gezogen, weiß allerdings nciht wie sicher das ganze ist, da er immerhin von außen erreichbar wäre. Würde es Sinn machen ihn ähnlich wie phpmyadmin außerhalb des /var/ bzw /www Verzeichnisses zu installieren und wenn ja kann ich die phpmyadmin Konfiguration aus dem apache conf Teil kopieren um es ähnlich umzusetzen?




    Grüße


    GuGoeb

  • In sachen mysqldumper kannst du ja eine auth basic verlangen.
    zusammen mit dem entsprechenden fail2ban-filter wird das recht sicher.


    Das ist aber nur die datenbank und die liegt, wenn du sie nicht per mail versendest weiterhin auf dem gleichen system.


    Ich schiebe nachts immer per rsync ein backup auf meinen raspberry pi...

  • Hm nen rasperry hab ich auch, allerdings nicht permanent online. Wie genau hast Du das denn gelöst? per usb Festplatte? Wieviel Strom verbraucht das denn dann ca... ich meine für 7 euro bekomme ich ja auch hier 50GB ... was mir persönlich halt nur zuviel ist... dachte ich zumindest, ich weiss ehrlich gesagt nicht was so ein komplett backup ausmacht aber ich würde eher mit nem fünftel rechnen

  • Ich hab den permanent online. Da laufen diverse Anwendungen drauf, deswegen ergab sich das.


    Raspberry Pi – Laub-Home.de Wiki
    Wie hoch ist der Stromverbrauch? | RaspberryCenter.de


    Ich hab nen USB-Stick dran. 32 Gb hatten mich 9 € inkl. Versand aus England gekostet.
    Wenn man bedenkt, dass man ne SD-Karte und 2 USB-Sticks anschließen kann, kommt man auf ausreichend Speicher, der aus stromsparenden SSD besteht.


    Zusammen mit Git hast du dann auch deine Inkrementellität.


    Beachte allerdings dass SSD nicht unbedingt geeignet ist für hochwichtige Backups. Da ist ein HDD-Raid (außer 0 und Seagate Festplatten) besser.

  • Wenn es richtig einfach und kostengünstig sein soll, empfehle ich einen zweiten vServer zu mieten. Den Support dabei bitte darauf hinweisen, dass dieser auf einem anderen Node liegen soll.


    Auf dem vServer empfehle ich dann folgende Software zu installieren:


    BackupPC: Open Source Backup to disk


    Diese ist richtig Performant, hat eine inkrementelle Speicherung und ein einfach zu bedienendes Webinterface.

  • '[netcup wrote:

    Auf dem vServer empfehle ich dann folgende Software zu installieren:
    BackupPC: Open Source Backup to disk
    Diese ist richtig Performant, hat eine inkrementelle Speicherung und ein einfach zu bedienendes Webinterface.


    das finde ich sehr interessant.
    also auf dem reinen Backup Server läuft dann diese SW (BackupPC).
    Auf dem zu sichernden (Produktivsystem) muss dann aber noch rsync laufen,
    oder laut Doku geht es auch einfach über (s)FTP / SSH ?
    ( BackupPC Documentation )


    [edit] habe eben auch noch das hier gefunden:
    --> Back Up Linux And Windows Systems With BackupPC | HowtoForge - Linux Howtos and Tutorials

  • Ich hänge das mal an diesen Thread dran, da die gleiche Fragestellung sich auch mir stellte - allerdings mit folgender Einschränkung:


    Ich musste (wollte) "pull"-Sicherung vom Netcup-Server "/" (!) auf ein heimisches NAS (ZYXEL 540 mit RAID 10) machen, das nur in 192.168.xxx.xxx erreichbar ist.


    Vorgehensweise


    0. Auf Netcup-Server
    Es wird angenommen, dass SSH auf Port '12345' geschaltet wurde und die NETCUP Firewall diesen Port zulässt.

    Code
    1. $ touch .hushlogin


    Wichtig: Darauf achten, dass auch z.b. '.bashrc' keinen Output produziert, der den untenstehenden automatschen Aufbau der Verbindung stören könnte.


    1. Vergabe SSH Pubkey auf NAS und Installation auf Netcup Server (NETCUP) mit NETCUP-IP

    Code
    1. # cd
    2. # mkdir -p .ssh
    3. # ssh-keygen -t rsa
    4. # cat ~/.ssh/id_rsa.pub | ssh USER@NETCUP-IP -p 12345 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"


    Wichtig: KEINE Passphrase eingeben



    2. Einrichten 'rsync' auf NETCUP als 'sudoer" Prozess für NETCUP-User (USER)

    Code
    1. [NETCUP:USER]$ sudo visudo


    Folgende Zeile anfügen:

    Code
    1. USER ALL=NOPASSWD:/usr/bin/rsync



    3. rsync Skript zur Sicherung '/' von NETCUP auf NAS

    Code
    1. [NAS:USER]# rsync --numeric-ids --rsync-path='sudo rsync' --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} --stats --backup-dir=/i-data/sysvol/NETCUP-BAK -axP -e 'ssh -p 60022' USER@NETCUP-IP:/ /i-data/sysvol/NETCUP


    Bitte erst einmal in einen Editor kopieren und anpassen!
    z.B. können die rsync-Optionen angepasst werden.
    Ebenso die Pfadangaben der Sicherungsziele.


    Das Skript kann in 'crontab' hinterlegt werden z.B. als:

    Code
    1. 0 */2 * * * /i-data/sysvol/root/backupNETCUPtoNAS.sh > /dev/null 2>&1 # MUSS auf NAS mit Tweaks gesetzt werden!


    Beste Grüße

    NetCup: Root-Server 500
    Clients: Ubuntu 16.04, Win7 (in VBox)
    NAS: Zyxel 540, 325v2, Medion (Zyxel 212). Alle mit Entware NG

    The post was edited 2 times, last by casati ().

  • Code
    1. # cat ~/.ssh/id_rsa.pub | ssh USER@NETCUP-IP -p 12345 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"


    Dafür gibts den Befehl 'ssh-copy-id'. SSH will für .ssh/authorized_keys ganz bestimmte Rechte sehen, das geht bei deiner Variante womöglich schief.



    2. Einrichten 'rsync' auf NETCUP als 'sudoer" Prozess für NETCUP-User (USER)

    Code
    1. [NETCUP:USER]$ sudo visudo


    Folgende Zeile anfügen:

    Code
    1. USER ALL=NOPASSWD:/usr/bin/rsync


    sudo nopasswd auf rsync mag ich nicht so, ein User der rsync so nutzen darf ist damit effektiv selber root...


    Bei rsync wird ein Perlscript mitgeliefert, rrsync (restricted rsync), damit kann man einen SSH Key auf read-only rsync und bestimmte Unterverzeichnisse einschränken und damit ausschließlich zum Backups ziehen verwenden. Damit habe ich bislang ganz gute Erfahrungen gemacht.


    Anstelle des --exclude könnte man was mit bind-mount machen.

  • Danke für Deinen Hinweis zu den Berechtigungen!


    Hätte ich beinahe übersehen, da ich nicht (wie sonst) unter Ubuntu, sondern auf dem NAS gearbeitet habe. Da gibt es die erweiterten ssh-commands nicht.


    Zum Themo 'sudo'. Der USER ist natürlich ein "normaler" User, der sowieso in der sudoer-Gruppe ist. AFAIK kein zusätzliches Risiko.


    Beste Grüße

    NetCup: Root-Server 500
    Clients: Ubuntu 16.04, Win7 (in VBox)
    NAS: Zyxel 540, 325v2, Medion (Zyxel 212). Alle mit Entware NG