Backups


Klumpen

Run away! Run away!
Joined
Nov 19, 2011
Messages
8,578
Location
Uncanny Valley
Wie handhabt ihr Backup/Synchronisation eurer Daten?
Nach meiner kürzlichen Katastrophe (ich konne nicht alle Daten retten...)
möchte ich für meine zwei Datenplatten externe Backups erstellen, welche sich einfach aktualisieren lassen,
also prüfen, welche Dateien/Ordner neu sind und kopiert werden müssen um das Backup-HDD in festgelegten Abständen aktuell zu halten.

Wie macht ihr das?
 
Ich habe hier einen 150€ Homeserver (HP MicroServer N40L) mit 2x3TB im RAID 1 stehen, auf dem meine wichtigen Dateien auch noch liegen. Sollte meinem PC etwas passieren, hat der Server sie mit Sicherheit noch. Sollte allerdings meine Wohnung abfackeln ... ach, dann habe ich vermutlich eh andere Prioritäten als irgendwelche Dateien :lol:

Um Synchronisationen zu vermeiden, werden einfach alle wichtigen Dateien direkt auf dem Server erstellt.
 
Ich verwende das Programm rsnapshot, das mir automatische Sicherungen macht.
Das verwendet Hardlinks, um Platz zu sparen. Das heisst, dass man auf einer 2TB Festplatte mehrere Backups zu verschiedenen Zeitpunkten von 1.5TB Daten haben kann. Und man kann jedes einzelne Backup einfach ohne Aufwand mit den normalen "Kopieren" Programmen zurückspielen.

Man kann auch selbst etwas mit "rsync" (und cron) basteln, aber dann hat man nicht von selbst mehrere Backups sondern immer nur eines.

Wenn du Windows verwendest habe ich keine Ahnung, da müsstest du andere Programme suchen, die dir das auomatisch machen.

Wichtig ist vor allem, dass es automatisch geht, da man Menschen im allgemeinen sowas nicht anvertrauen kann. :)
 
Ich nutze Linux MINT und mir genügt ein Backup der Daten auf den jeweils aktuellen Stand bei Anschluss der Sicherungsplatte vollkommen,
ein simpler Abgleich der Ordner und Dateien genügt da wohl.
 
Klumpen said:
Ich nutze Linux MINT und mir genügt ein Backup der Daten auf den jeweils aktuellen Stand bei Anschluss der Sicherungsplatte vollkommen,
ein simpler Abgleich der Ordner und Dateien genügt da wohl.
Dann würde ich rsync und (ana)cron nehmen. rsync gleicht die Dateien ab, anacron startet regelmässig rsync (dazu musst du die Sicherungsplatte dauerhaft angeschlossen lassen).
 
Ich hab sogar ein nettes gui für rsync gefunden, sieht gut aus:
http://community.linuxmint.com/software/view/grsync

Ist auch via "sudo apt-get install grsync" installierbar. :)
 
Für Backups eignet sich auch mein aktueller Verkauf ( http://forum.gp2x.de/viewtopic.php?f=18&t=16428&p=196210#p196210 ) ganz hervorragend :)
 
Selbst ist der Admin


Etwas in die Jahre gekommen, aber tut seinen Dienst (stripped version)
Code:
<i>
</i>import time
import os
import fnmatch
import tarfile


dest_dir = '/mnt/autofs/backup/'
source_dir = '/var/srv/'
timestamp = time.strftime( "%d-%m-%Y" )
now = datetime.datetime.now()
tarname = 'backup-' + timestamp + '.tar.gz'
target_tar = dest_dir + tarname
fileList = []
fileListClean = []
excluded_list = ['.DS*', '.apdisk', '.AppleDesktop', '.AppleDouble', '.TemporaryItems', 'Thumbs.db', '._*', '*backup*']

def excluded_files(value):
    _return = False
    stripped_path = os.path.basename(value)
    for fname in excluded_list:
        if value.find(fname)  > -1:
            _return = True
        elif fnmatch.fnmatch( stripped_path, fname):
            _return = True
    return _return

def dailybackup():
    now = time.time()
    l24h = now - int(87000) # 24h in sec + 10 min for safety
    for root, subdirs, files in os.walk(source_dir, True, None):
        for filename in files:
            f = os.path.join(root, filename)
            mtime = os.stat(f).st_mtime
            if mtime >= l24h:
                fileList.append(f)
    if not fileList:
        pass
    else:
        for elem in fileList:
            if excluded_files(elem):
                pass
            else:
                fileListClean.append(elem)
    if not fileListClean:
        pass
    else:
        tar = tarfile.open(target_tar, mode='w:gz')
        for item in fileListClean:
           tar.add(item, exclude=excluded_files)
        tar.close()

if __name__=="__main__":
     dailybackup()
 
Back
Top