Seite 1 von 39 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 387
  1. #1
    Anwender Avatar von Tommes
    Registriert seit
    26.10.2009
    Beiträge
    7.483

    Standard [Projekt] rsync -Alternative dateibasierte Datensicherung

    Hallo zusammen!

    Da Synology im Zuge von DSM 6.0 [Beta 1 & 2] die dateibasierte Datensicherung bis auf weiteres aus dem System entfernt hat, möchte ich mal ein kleines Brainstorming ins Leben rufen um diesen Missstand mit einem "kleinen" rsync-Script zu begegnen.

    Mir ist bewusst, das ich hier nicht das Rad neu erfunden werde, einige von euch werden sich vielleicht sogar Stirnrunzelnd abwenden oder das ganze müde belächeln. Andere werden aber vielleicht sagen: Toll, der Ansatz gefällt mir aber ich habe da noch die ein oder andere Idee wie man es besser/anders/einfacher/komfortabler machen kann und genau diese Leute suche ich hier.

    Denn ich bin absolut kein Script-Profi und daher auf eure Hilfe angewiesen. Wenn ihr also Lust habt mein nachfolgendes Script mal zu testen und zu bewerten, es zu verbessern und zu verfeinern, dann würde ich mich wirklich freuen. Letzenendes soll etwas gutes für uns alle dabei herauskommen, wo immer auch die Reise hin gehen wird. Aber genug geredet...

    Das Script:
    Das Script selber soll nach Möglichkeit über den Aufgabenplaner des DSM ausgeführt werden können. Ob automatisiert oder Manuell bleibt erstmal jedem selbst überlassen. Im Grunde tut das Script nichts anderes als mehrere ausgewählte "gemeinsame Ordner" eines bestimmten internen Volume per rsync in das gewünschte Backupziel (intern oder auf USB- oder SATA-Datenträger) zu verfrachten. Hat man im DSM unter Systemsteuerung/Benachrichtigung eine E-Mail-Adresse konfiguriert, so kann man durch Angabe dieser E-Mail im Script, sich ein Protokoll per Mail zusenden lassen. Kommentiert man das E-Mail Feld aus, dann wird nur eine Protokolldatei im Sicherungsziel abgelegt. Über den Aufau und Inhalt des Protokolls lässt sich natürlich streiten, von daher wäre das gleich mal ein Punkt um Verbesserungen vorzustellen.

    Gelöschte Dateien in der Quelle werden im Ziel in einer Art "Mülleimer" gesammelt, also nicht gleich gelöscht. Über Sinn und Unsinn dieses Vorgehens kann man natürlich diskutieren.

    Ich habe SSH erstmal bewusst weggelassen, da hier auch die Konfiguration von RSA-Keys etc. erforderlich wäre... und es soll ja einfach bleiben. Was zu überlegen wäre ist, ob man optional ein differntielles Backup anbieten sollte. Ich stoße mich da aber ein wenig mit dem anlegen von Hardlinks, was mir immer noch ein wenig suspekt ist.

    Fangen wir an und ich würde mich wirklich über eure Meinungen, Mithilfe und Ideen freuen.

    Ach ja, bevor ich es vergesse. Da ich ja auch grade erst dem Tal der Ahnungslosen entkommen bin, noch der Hinweis:

    Ihr verwendet das Script auf eigene Gefahr. Um möglichen Datenverlust vorzubeugen, arbeitet mir unwichtigen Testaten oder habt ein Backup im Schrank

    PHP-Code:
    #!/bin/sh

    # E-Mail Adresse
    # --------------------------------------------------------------
    # Die E-Mail-Adresse muß identisch mit der im DSM unter 
    # Systemsteuerung/Benachrichtigung konfigurierten sein.
        
    EMAIL="dein.name@mail.tld"

    # Backup - Quelle
    # --------------------------------------------------------------
        
    VOLUME="/volume1"        
        
    SHAREDFOLDER=(/photo 
                      
    /video/Spielfilme
                      
    /music/Alben/Deutsch )
                      
    # Backup - Ziel 
    # --------------------------------------------------------------
        #TARGET="/volume1/Backup"
        
    TARGET="/volumeUSB1/usbshare/Backup"

    # --------------------------------------------------------------
    # Ab hier bitte nichts mehr ändern
    # --------------------------------------------------------------
        
    RSYNCCONF=(--stats --log-file-format="%i %o %f" --delete --backup --backup-dir=`$DATE`_Recycle)
        
    RSYNC="/bin/rsync"
        
    SSH="/bin/ssh" 
        
    SSMTP="/usr/bin/ssmtp"
        
    ECHO="/bin/echo" 
        
    DATE="/bin/date +%Y-%m-%d"
        
    TIMESTAMP="/bin/date +%d.%m.%Y_%H:%M:%S";
        
    LOGFILE="/`$DATE`_Sicherungsprotokoll.log"
        
    if [ "$EMAIL]; then
      
    # Sicherungsprotokoll im Backup-Ziel als Datei speichern und 
      # daraus eine E-Mail generieren...
        
    LOG="$TARGET$LOGFILE"    
        
    $ECHO  "To: $EMAIL$LOG
        $ECHO  
    "From: $EMAIL>> $LOG
        $ECHO  
    "Subject: Sicherungsprotokoll vom `$TIMESTAMP` Uhr" >> $LOG
        $ECHO  
    "" >> $LOG    
    else
      
    # Sicherungsprotokoll im Backup-Ziel als Datei speichern
        
    LOG="$TARGET$LOGFILE"
        
    $ECHO "Sicherungsprotokoll vom `$TIMESTAMP` Uhr" $LOG
        fi

    for SHARE in "${SHAREDFOLDER[@]}"
        
    do
            
    $ECHO "" >> $LOG
            $ECHO 
    "------------------------------------------------------------------------------------" >> $LOG
            $ECHO 
    "Statusbericht für: $VOLUME$SHARE>> $LOG
            $ECHO 
    "------------------------------------------------------------------------------------" >> $LOG
            $RSYNC 
    -ah "$VOLUME$SHARE" "${RSYNCCONF[@]}" "$TARGET"  >> $LOG 2>&
        done
        
    if [ "$EMAIL]; then
      
    # Sicherungsprotokoll als E-Mail versenden...
        
    $SSMTP $EMAIL $LOG
        fi 
    Tommes
    Geändert von Tommes (29.01.2016 um 22:44 Uhr)

    DS218+ | DSM 6.2.1-23824-U4 | 1x WD Red 4TB Basis (btrfs) | 2 + 8 GB RAM
    DS216+ | DSM 6.2.1-23824-U4 | 2x WD Red 4TB Basis (ext4) | 1 GB RAM
    DS115 | DSM 6.2.1-23824-U4 | WD Green 4TB (ext4)

    Projekte: Ultimate Backup | Ultimate Search | Mein YouTube-Kanal

  2. #2
    Anwender
    Registriert seit
    02.07.2013
    Beiträge
    2.896

    Standard

    Hast du gut gemacht.
    Kann man gerne als Alternative nutzen.

    Eine tolle Anleitung für rsnapshot gibt es hier auch noch, läuft bei mir auch automatisch super unter DSM 6.

    Statt Email Benachrichtigung, kann man auch die DSM Benachrichtigung mit Hilfe von synodsmnotify nutzen.
    ! Bitte Postfachgröße erhöhen !


    DS916+ | 8GB RAM | 3x3TB WD Red RAID 5 btrfs | DSM 6.1-15047-U2
    DS216+II | 8GB RAM | 2x4TB WD Red basic ext4 | DSM 6.0.2-8451-U9
    DS212j | | DSM 6.0.2-8451-U9 | Backup DS

    Fritzbox 7490 | Netgear GS108Tv2


    Projekte:

    Ultimate Backup - SPK
    Ultimate Search - SPK




  3. #3
    Anwender Avatar von Tommes
    Registriert seit
    26.10.2009
    Beiträge
    7.483

    Standard

    Danke für dein Feedback!

    Zitat Zitat von PsychoHH Beitrag anzeigen
    Statt Email Benachrichtigung, kann man auch die DSM Benachrichtigung mit Hilfe von synodsmnotify nutzen.
    Diese Idee flitze mir auch schon durch den Kopf, hatte aber nicht den richtigen Aufhänger dafür... könntest du das mit dem synodsmnotify etwas präzisieren, da ich diesbezüglich etwas auf dem Schlauch stehe. Aber lass dir Zeit, ich mach nämlich Schluss für heute. Scripten macht müde

    Tommes

    DS218+ | DSM 6.2.1-23824-U4 | 1x WD Red 4TB Basis (btrfs) | 2 + 8 GB RAM
    DS216+ | DSM 6.2.1-23824-U4 | 2x WD Red 4TB Basis (ext4) | 1 GB RAM
    DS115 | DSM 6.2.1-23824-U4 | WD Green 4TB (ext4)

    Projekte: Ultimate Backup | Ultimate Search | Mein YouTube-Kanal

  4. #4
    Anwender
    Registriert seit
    02.07.2013
    Beiträge
    2.896

    Standard

    Ja dafür nicht.

    Wir können eigentlich den Teil von silofinari den er für rsnapshot genommen hat übernehmen und anpassen.
    http://www.synology-forum.de/showthr...chrichtigungen

    Das sollte schon klappen.

    Die exit Codes könnte man noch genauer festlegen, aber die folgenden sollten idr langen.
    http://wpkg.org/Rsync_exit_codes



    # save the exit code in a variable
    status=$?

    # test status and make it human readable
    if [ $status -eq 0 ]
    then
    statusmessage="All operations completed successfully"
    elif [ $status -eq 1 ]
    then
    statusmessage="A fatal error occurred"
    elif [ $status -eq 2 ]
    then
    statusmessage="Some warnings occurred, but the backup still finished"
    else
    statusmessage="An error occured in the execution of the shell script"
    fi

    # send notification to DSM Administrators
    synodsmnotify @administrators "rsync Backup" "$statusmessage"

    Ich werde das aber die Tage gerne mal ausprobieren.
    ! Bitte Postfachgröße erhöhen !


    DS916+ | 8GB RAM | 3x3TB WD Red RAID 5 btrfs | DSM 6.1-15047-U2
    DS216+II | 8GB RAM | 2x4TB WD Red basic ext4 | DSM 6.0.2-8451-U9
    DS212j | | DSM 6.0.2-8451-U9 | Backup DS

    Fritzbox 7490 | Netgear GS108Tv2


    Projekte:

    Ultimate Backup - SPK
    Ultimate Search - SPK




  5. #5
    Anwender Avatar von tschortsch
    Registriert seit
    16.12.2008
    Beiträge
    1.395

    Standard

    Super Script!
    Einzig was ein wenig gefährlich ist das das Zielvolumen "fix" hinterlegt ist.
    Wenn man zuerst auf USBShare 1 das Backup macht, zufällig später dann eine USB Stik hat der dann USBShare1 heißt und man die Backupplatte anschließt (=>> USBShare2) und das Backup startet wird der Stick überschrieben.

    Kann man das irgendwie anhand einer "Antwortdatei", ähnlich in Autorun, lösen?
    Also in der Datei auf der Backupplatte steht zB "Backupjob1".
    Das Script durchsucht beim Start alle angeschloßenen USB/Sata Platten nach der "Antwortdatei" mit dem Inhalt "Backupjob1". Wenn es die passenden Platte findet startet es erst dann.
    Die Konfigurationsdatei kann eine simple Textdatei mit dem Aufgabennamen sein, die kann man dann man sogar mit Windows erstellen.
    Im Backupscript kann man mehrere verschiedene Backupjobs hinterlegen.
    Mit der Option könnte man das auch von Autorun starten lassen.
    Backupjobs auf ein "fixes" Netzlaufwerk laufen mit Tommes Script theretisch ohne zutun.

    Oder hier noch die "Luxusvariante" mit einer zusätzlichen externen Konfigurationsdatei in der die verschiedenen Backupjobs konfiguriert werden.
    Beim Start des Scripts fragt es zuerst mal alle angeschlossenen Backupplatten nach der Antwortdatei (zb "Backupjob1") ab. Danach fragt das Script die externe Konfigurationsdatei ab ob dieser "Backupjob1" vorhanden ist und startet danach das entsprechende Backup.
    Die externen Konfigurationsdatei kann eine Textdatei sein die auf einer Freigaben auf "VolumenX" liegt. So kann man jederzeit über die Freigabe Backupjobs hinzufügen oder ändern.
    In der externen Konfigurationsdatei kann man auch Netzwerkbackupjobs konfigurieren die automatisch gestartet werden wenn das Script keine externe Backupplatten mit Antwortdatei findet.

    Zusätzlich erhöht die (fehlenede) "Antwortdatei" auf der Platte das ungewolte überschreiben eine neu angeschlossen Festplatte.
    Weiters könnte man dann auch eine wechselndes Backup mit 2 Platten machen auf denen aber der gleiche Backupjob gemacht wir. (ZB backupjob1 HD1 am Mitwoch, Backupjob1 HD2 am Samstag) Das ging mit dem bisherigen Backup soweit ich weiß auch nicht.

    So ich hab nun meine Ideen kundgetan , Scripten kann ich leider auch nicht.
    Geändert von tschortsch (30.01.2016 um 00:31 Uhr)
    Gruß Tschortsch

    Standort 1
    DS 415+ DSM immer aktuell 8GB RAM (Kingston KVR16LS11/8); Daten RAID1 2x 500 GB WD RE4; OVPN Server, Cloud Station Server; USV Eaton Ellipse ECO 650
    DS 209+ Backup DS; DSM 4.2; 2x 1TB WD RE4 RAID1
    Router/ AP Linksys WRT 1200 AC, AP2 Linksys WRT54G3G, HP 1820-24G

    Standort 2
    DS 218+ DSM immer aktuell; RAID1 2x 3TB WD RED; Cloud Station Client zeitgesteuert
    Router/ AP Linksys WRT 1900 AC, Dauerverbindung mit Standort 1 per OVPN; Netgear GS108Tv1

  6. #6
    Anwender
    Registriert seit
    02.07.2013
    Beiträge
    2.896

    Standard

    Könnte sicher mit if find klappen.

    Man kann aber ich einfach auf die Platte das Script speichern und im Aufgabenplaner für alle usb Ports die Scripte angeben.

    Man kann somit auch verschieden Ordner auf unterschiedliche Platten sichern.
    ! Bitte Postfachgröße erhöhen !


    DS916+ | 8GB RAM | 3x3TB WD Red RAID 5 btrfs | DSM 6.1-15047-U2
    DS216+II | 8GB RAM | 2x4TB WD Red basic ext4 | DSM 6.0.2-8451-U9
    DS212j | | DSM 6.0.2-8451-U9 | Backup DS

    Fritzbox 7490 | Netgear GS108Tv2


    Projekte:

    Ultimate Backup - SPK
    Ultimate Search - SPK




  7. #7
    Anwender Avatar von tschortsch
    Registriert seit
    16.12.2008
    Beiträge
    1.395

    Standard

    Mit dem Aufgabenplaner ist das dann aber ein wenig umständlich. Der müßte ja zb jede Minute cheken ob eine Festplatte angeschlossen ist.

    "Autorun" haben e schon viele laufen, da kann man das eigentlich nutzen und das würde mit dem orignal Script+Festplatten(sicherheits)abfrage schon laufen.

    Meine vorgeschlagene "Luxusvariante" wäre ja schon ein (manuel zu konfgurierender) Ersatz für das jetzige Backup in DSM5.2
    Gruß Tschortsch

    Standort 1
    DS 415+ DSM immer aktuell 8GB RAM (Kingston KVR16LS11/8); Daten RAID1 2x 500 GB WD RE4; OVPN Server, Cloud Station Server; USV Eaton Ellipse ECO 650
    DS 209+ Backup DS; DSM 4.2; 2x 1TB WD RE4 RAID1
    Router/ AP Linksys WRT 1200 AC, AP2 Linksys WRT54G3G, HP 1820-24G

    Standort 2
    DS 218+ DSM immer aktuell; RAID1 2x 3TB WD RED; Cloud Station Client zeitgesteuert
    Router/ AP Linksys WRT 1900 AC, Dauerverbindung mit Standort 1 per OVPN; Netgear GS108Tv1

  8. #8
    Anwender
    Registriert seit
    02.07.2013
    Beiträge
    2.896

    Standard

    Hab das mit dem Aufgabenplaner auch eher zu bestimmten Zeiten gemeint oder z.B. nach dem hochfahren.

    Autorun läuft noch nicht unter DSM 6beta. Aber Synology soll sich ja darum kümmern.

    Unter 5.2 wird das aber mit autorun sicher laufen.
    ! Bitte Postfachgröße erhöhen !


    DS916+ | 8GB RAM | 3x3TB WD Red RAID 5 btrfs | DSM 6.1-15047-U2
    DS216+II | 8GB RAM | 2x4TB WD Red basic ext4 | DSM 6.0.2-8451-U9
    DS212j | | DSM 6.0.2-8451-U9 | Backup DS

    Fritzbox 7490 | Netgear GS108Tv2


    Projekte:

    Ultimate Backup - SPK
    Ultimate Search - SPK




  9. #9
    Anwender Avatar von Tommes
    Registriert seit
    26.10.2009
    Beiträge
    7.483

    Standard

    @PsychoHH
    Danke für den Tipp mit dem synodsmnotify. Ich denke, das werde ich mal versuchen einzubauen.

    @tschortsch
    Dieses Script erhebt keinen Anspruch auf Perfektion und ich seh mich auch garnicht in der Lage dazu, deine Anforderungen und Wünsche umzusetzen, da ich selber ein blutiger Anfänger in sowas bin. Auch ist meine Intention das Script so einfach wie möglich zu halten und einfach heißt dann manchmal leider auch, das nicht alle Eventualitäten einer Fehlkonfiguration berücksichtig werden können. Natürlich danke ich dir für dein Feedback und find deine Denkanstöße auch sehr hilfreich, aber mit der Umsetzung würde ich auch ziemlich Probleme haben. Daher schrieb ich oben ja, das ich auf eure Hilfe angewiesen bin.

    Das Script soll übrigens über den Aufgabenplaner laufen, man muß es ja nicht automatisieren. Hintergrund dieses Denkens ist halt, das manch einer nichts mit der Konsole anfangen kann und da bietet der Aufgabenplaner halt eine gute Möglichkeit. Autorun läuft, wie PsychoHH bereits erwähnte nicht unter DSM 6 Beta. Ob sich das ändert wissen wir alle nicht.

    Ok, ich werd am WE mal schauen, was ich von dem, was ihr so vorgeschlagen habt umsetzen kann. Habt aber bitte Nachsicht mit mir, da ich mir auch alles erst selber beibringen muß... und das kostet halt Zeit.

    Tommes

    DS218+ | DSM 6.2.1-23824-U4 | 1x WD Red 4TB Basis (btrfs) | 2 + 8 GB RAM
    DS216+ | DSM 6.2.1-23824-U4 | 2x WD Red 4TB Basis (ext4) | 1 GB RAM
    DS115 | DSM 6.2.1-23824-U4 | WD Green 4TB (ext4)

    Projekte: Ultimate Backup | Ultimate Search | Mein YouTube-Kanal

  10. #10
    Anwender Avatar von tschortsch
    Registriert seit
    16.12.2008
    Beiträge
    1.395

    Standard

    Wie schon gesagt, waren halt nur meine Ideen (und Wünsche ) dazu.
    Manchmal bekommt man durch Ideen andere ganz andere Sichtweisen und Lösungsansätze zur Lösung der eigenen Probleme.

    Viel erfolg
    Geändert von tschortsch (30.01.2016 um 12:46 Uhr)
    Gruß Tschortsch

    Standort 1
    DS 415+ DSM immer aktuell 8GB RAM (Kingston KVR16LS11/8); Daten RAID1 2x 500 GB WD RE4; OVPN Server, Cloud Station Server; USV Eaton Ellipse ECO 650
    DS 209+ Backup DS; DSM 4.2; 2x 1TB WD RE4 RAID1
    Router/ AP Linksys WRT 1200 AC, AP2 Linksys WRT54G3G, HP 1820-24G

    Standort 2
    DS 218+ DSM immer aktuell; RAID1 2x 3TB WD RED; Cloud Station Client zeitgesteuert
    Router/ AP Linksys WRT 1900 AC, Dauerverbindung mit Standort 1 per OVPN; Netgear GS108Tv1

Seite 1 von 39 12311 ... LetzteLetzte

Ähnliche Themen

  1. rsync Alternative gesucht
    Von globe im Forum Synology Apps und PlugIns für mobile Endgeräte und Browser
    Antworten: 2
    Letzter Beitrag: 16.01.2015, 23:35
  2. Qnap Umsteiger Sucht Snapshot oder Alternative für DSM 4.3 (Lokale Datensicherung)
    Von insp im Forum Backup / Restore / Data Replicator Allgemein
    Antworten: 1
    Letzter Beitrag: 17.11.2013, 18:28
  3. Datensicherung: RSYNC vs. Synology-Modus
    Von Sascha_L_a_S im Forum Backup / Restore / Data Replicator Allgemein
    Antworten: 1
    Letzter Beitrag: 08.04.2013, 11:51
  4. rsync Datensicherung - Bug bei Ordnerwahl?
    Von Uschi im Forum Backup / Restore / Data Replicator Allgemein
    Antworten: 8
    Letzter Beitrag: 30.01.2011, 20:29
  5. Antworten: 7
    Letzter Beitrag: 02.12.2008, 09:19

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •