Wie server backup am besten angehen?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Wie server backup am besten angehen?

Beitrag von Lord_Carlos » 24.02.2018 18:52:00

Moin

Backup von /etc/, /home/foo and Installiere Pakete. dpkg-query -f '${binary:Package}\n' -W
Sonnst noch Verzeichnisse wo man gerne ein backup haette?

Wie am besten? So das versteckte Daten und rechte auch mitkommen.
rsync?
rsync -av --delete /etc /media/raid/meinbackup/

Dann verpacken mit tar und gz und offsite sichern?

Das ganze dann als script und jede Woche laufen lassen?
Was uebersehen? Was verplant?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Wie server backup am besten angehen?

Beitrag von schwedenmann » 24.02.2018 18:56:56

Hallo


/var würde ich noch sichern.

rsync ist doch ok

Ob du das manuell anstößt, oder per cron hängt von der Situation ab, also ob deide PC 24/7 online sind.

mfg
schwedenmann

TomL

Re: Wie server backup am besten angehen?

Beitrag von TomL » 24.02.2018 19:02:00

Ich sichere auf meinem Server versionierend nur die Konfiguration der benötigten Dienste, in Summe sind das keine 50K, in wenigen Sekunden... der Rest ist mir egal, kommt doch alles mit dem nächsten Installer eh automatisch wieder rein. In einem separaten Prozess werden die Nutzerdaten gesichert, täglich via rsync, wöchentlich (also 4-fach/Monat rollierend) auf eine weitere Platte, zusätzlich wöchentlich überschreibend via GPG-Encrypt auf meine HP.

Ich habe meine Prozesse mal umfassend beschrieben... einschließlich meines eigenenen Scripts, was die Backups mannlos durchführt ... wenns Dich interessiert...

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Wie server backup am besten angehen?

Beitrag von Lord_Carlos » 24.02.2018 19:48:29

Ich habe mir gerade mal was zusammen gezimmert:

Code: Alles auswählen

#!/bin/bash

#Variables
TO=/media/raid/backup/cubebox/
FROM=(/etc /home/carlos)
DATE=$(date +%Y-%m-%d)

#check
if [ ! -d "$TO" ]; then
        exit 1
fi


#start backup
for i in ${FROM[@]}; do
        rsync -a --delete ${i} ${TO}raw/
done

#packages
dpkg-query -f '${binary:Package}\n' -W > ${TO}raw/installed_packes.txt

#pack it
tar -czf ${TO}archive/backup_${DATE}.tar.gz ${TO}raw/

#delete older backups.
find ${TO}archive/ -type f -mtime +200 -delete

exit 0
Bei rsync hat das Quell Verzeichniss kein trailing /, deswegen wird das ganze Verzeichnis genommen und in ${TO}raw/ kopiert, richtig? Was ein trailing slash haben sollte?
Also rsync foo bar/, dann wird bar/foo/ erstellt?

Fehlen Anfuerungszeichen? Also sollte sowas find ${TO}archive/ eher so aussehen? find "${TO}archive/"

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

uname
Beiträge: 12045
Registriert: 03.06.2008 09:33:02

Re: Wie server backup am besten angehen?

Beitrag von uname » 24.02.2018 20:52:02

Mein Script von vor ein paar Jahren:

https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC/


Es gibt aber auch fertige Softwarelösungen.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Wie server backup am besten angehen?

Beitrag von Lord_Carlos » 24.02.2018 22:16:17

So, habe mir bash best practices nochmal durchgelesen.

Code: Alles auswählen

#!/usr/bin/env bash

set -o errexit
set -o pipefail
set -o nounset

main () {
        #Variables
        local to=/media/raid/backup/cubebox/
        local from=(/etc /home/carlos)
        local date=$(date +%Y-%m-%d)
        local __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

        #check
        if (( $EUID != 0 )); then
                printf "Please run as root\n" | STDERR
                exit 1
        fi


        if [ ! -d "$to" ]; then
                printf "unable to find dir: ${to}\n" | STDERR
                exit 1
        fi


        #start backup
        for i in ${from[@]}; do
                printf "starting rsync backup\n"
                rsync -a --delete "${i}" "${to}raw/"
        done

        #packages
        printf "compiling package list\n"
        dpkg-query -f '${binary:Package}\n' -W > "${to}raw/installed_packes.txt"

        #pack it
        printf "packing it\n"
        cd "${to}"
        tar -czf "${to}archive/backup_${date}.tar.gz" "raw"

        #delete older backups.
        printf "Deleting old backups\n"
        find "${to}archive/" -type f -mtime +200 -delete

        cd "${__dir}"
        exit 0
}

function STDERR () {
        cat - 1>&2
}


main
Verzeichnisse sollten wohl gerne in doppelten Anführungszeichen sein und variables mit ${foo} gerufen werden.
Morgen werde ich noch ein systemd timer script schreiben damit es monatlich monatlich ausgefueht wird.

Danke fuer die Hilfe :)

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Colttt
Beiträge: 2983
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Wie server backup am besten angehen?

Beitrag von Colttt » 24.02.2018 23:06:44

Wichtig zu wissen, ist das home use oder in der firma?

Wenn firma nimm eine Backup-Software
Debian-Nutzer :D

ZABBIX Certified Specialist

breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: Wie server backup am besten angehen?

Beitrag von breakthewall » 24.02.2018 23:20:35

Nutze seit Jahren tar der Zuverlässigkeit wegen, um restlos alles vom System zu sichern. Nicht nur bestimmte Teile davon, da mir ein vertrauenswürdiges System wichtig ist. Besonders nützlich finde ich die Parameter beim Entpacken, wodurch bspw. der ganze Verzeichnisbaum rekursiv gelöscht werden kann, und zum Schluss nur noch das enthält was Teil des Backups war. Eine nette Art sich allem zu entledigen, was nicht ins System gehört, auch im laufenden Betrieb. Zur Sicherheit wird tar mit gpg kombiniert, für entfernte Backups.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie server backup am besten angehen?

Beitrag von heisenberg » 25.02.2018 01:14:35

Den Thread hast Du ja vielleicht gesehen:

viewtopic.php?f=30&t=167901

Da sind so einige Empfehlungen drin.

Beim Thema Backup gibt es brauchbare Software für vielerlei Geschmacksrichtungen. Da würde ich nicht mit selberscripten anfangen. Es sei denn, lernen, wie man ein Backup richtig umsetzt, ist eines Deiner Ziele :)
Zuletzt geändert von heisenberg am 25.02.2018 15:44:29, insgesamt 1-mal geändert.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Wie server backup am besten angehen?

Beitrag von jph » 25.02.2018 09:30:07

Ich nutze für so was gerne rsnapshot, da dieses die Robustheit von rsync mit der Möglichkeit, verschiedene Generationen vorzuhalten, verbindet.

Zwischen den Backups erstelle ich rollierende Snapshots (die ich aus dem Backup ausschließe).

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: Wie server backup am besten angehen?

Beitrag von pferdefreund » 26.02.2018 08:56:29

Da meine Kiste nicht 24/7 läuft nehme ich einfach tar. Vorher alle Serverdienste beenden und tar ohne /proc /sys /tmp einfach alles und gut ist.
Für den Restore einfach Platte platt machen, tar -xvzf im / - Lilo neu schreiben, 2x booten wegen udev - und alles rennt wie vorher (natürlich getestet). Auf die Art halte ich dann auch immer gleich eine Kopie des Systems für Spielereien vor.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Wie server backup am besten angehen?

Beitrag von pangu » 26.02.2018 10:53:52

ich nutze heute immer noch selbstgestrickte Backupscripts aber in "größeren" Umgebungen greife ich doch auf Tools zurück. Die kosten nichts und ich kann dir folgende zwei Produkte wärmstens empfehlen:

BackupPC
Relax-And-Recover

Kuckst auch mal in den Debian-Repos. Ich verwende das seit Jahren und zwar mit großem Erfolg. Beide auf Herz und Nieren getestet inkl. periodischen Restoretests, funzt alles 1a.

:THX:
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Wie server backup am besten angehen?

Beitrag von Lord_Carlos » 24.05.2020 17:59:20

So, zwei Jahre spaeter ich ich habe das Script etwas angepasst.
Vorher hat es alles in eine .tar gepackt und mit pzip komprimiert. Das hat relative lange gedauert und, viel CPU und IO in Anspruch genommen und nimmt dann auch noch Platz weg.

Jetzt mache ich einfach rsync von /etc und /home auf mein ZFS raid. Nur geaenderte Daten werden uebertragen. Das ganze wird mit live lz4 komprimiert.
Vom backup order wird woechentlich ein Snapshot erstellt. Ich kann so einfach auf alte Daten zugreifen, ohne das ich etwas entpacken muss.

Code: Alles auswählen

#!/usr/bin/env bash

set -o errexit
set -o pipefail
set -o nounset

main () {
        #Variables
        local to="/media/raid/YYY/XXX/"
        local from=("/etc" "/home/benuzter" "/media/andere/festplatte/docker")
        local date
        date=$(date +%Y-%m-%d)
        local __dir
        __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

        #check
        if (( EUID != 0 )); then
                printf "Please run as root\n" | STDERR
                exit 1
        fi

        if [ ! -d "$to" ]; then
                printf "unable to find dir: %s \n" "${to}"| STDERR
                exit 1
        fi

        #start backup
        for i in "${from[@]}"; do
                printf "starting rsync backup of %s\n" "${i}"
                rsync -avH --delete --in-place "${i}" "${to}raw/"
        done

        #packages
        printf "compiling package list\n"
        dpkg-query -f '${binary:Package}\n' -W > "${to}archive/installed_packages_${date}.txt"

        # ZFS snapshot. We could add a ZFS snapshot of the ${to} here.
        # printf "starting a ZFS snapshot\n"
        # ZFS .. 

        cd "${__dir}"
        exit 0
}

function STDERR () {
        printf "error?"
        cat - 1>&2
}


main
Zuletzt geändert von Lord_Carlos am 24.05.2020 19:50:45, insgesamt 1-mal geändert.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: Wie server backup am besten angehen?

Beitrag von MaGe » 24.05.2020 19:06:33

breakthewall hat geschrieben: Besonders nützlich finde ich die Parameter beim Entpacken, wodurch bspw. der ganze Verzeichnisbaum rekursiv gelöscht werden kann, und zum Schluss nur noch das enthält was Teil des Backups war.
könntest du mir die befehlszeile zeigen
bei mir löcht tar nicht die überzähligen Programme
die nach dem Backup installiert wurden!



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten