Information ausblenden
Das Digital Eliteboard ist ein Kostenloses Forum. Wenn du alle Bereiche sehen möchtest oder Fragen hast, musst du dich zunächst Registrieren.

Jetzt Registrieren

Talk RSYNC BACKUP - backup-321tux.sh

Dieses Thema im Forum "Alle Systeme" wurde erstellt von MegaV0lt, 20. September 2014.

  1. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    Ich möchte hier eine Anlaufstelle für meine Weiterentwicklung des Backup-Skript's "backup-321tux.sh" von Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren eröffnen.

    [​IMG]

    Ich verwende das Skript nun schon eine ganze Weile auf zwei meiner Systeme (VDR, HP-T5730) und bin sehr zufrieden, da es meine Bedürfnisse, welche ich teilweise selbst integriert habe perfekt abdeckt.
    Das Skript stammt im Original von Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren und wurde von mir um ein paar Funktionen erweitert. Da im Blog auf der Originalseite die Möglichkeiten und Übersichtlichkeit ein wenig eingeschränkt sind, ist ein Forum wie dieses hier wohl besser geeignet, Fragen zu beantworten.

    Der Link zum Originalskript und den Blog: Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren

    Meine aktuelle Version bekommt man im GIT: Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren
    Originalversion zum Vergleich ist ebenfalls enthalten.

    Den aktuellen Stand im GIT als Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren
     
    Zuletzt bearbeitet: 18. Juni 2017
    #1
    n0bby-de, janni1 und dj alex z gefällt das.
  2. cenobita77
    Offline

    cenobita77 Ist gelegentlich hier

    Registriert:
    18. September 2012
    Beiträge:
    71
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: RSYNC BACKUP - bachup-321tux.sh

    also du hast mir ja in deinem Blog geschrieben, dass es heute eine neue Version gibt, diese hier "20140920" es reicht also diese zu ersetzen, die *.conf Datei bleibt die selbe..?
     
    #2
  3. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Richtig. Das Skript kannst Du ersetzten; solange Du nicht selbst Änderungen vorgenommen hast. Bei der .conf Musst Du mal schauen, ob der eMail-Abschnitt so aussieht:
    Code:
    ############################### EMAIL KONFIGURATION #####################################
    
    MAILPROG="mpack"   # mpack, sendmail oder sendEmail (http://j.mp/Xo69II)
    #                  Ausfüllen, wenn "sendEmail" verwendert wird
    MAILSERVER=        # Server (z.B. mail.gmx.net)
    MAILPORT=          # Port (z.B. 25)
    MAILUSER=          # z.B. Meine@email.de
    MAILPASS=          # z.B. v784hcnfd <- eMail-Passwort
    MAILSENDER=        # Sendeadresse (z.B. Meine@email.de)
    #USETLS="-o tls=yes" # Enable TLS for the SMTP connection
    #                  Einstellungen für den eMail-Bericht
    SHOWCONTENT="true" # Zeige Inhalt der Sichrungsziele (Oberste Ebene [ls -lh])
    
    Die letzte Zeile (SHOWCONTENT) ist relativ neu. Bei den Profilen hat sich nichts geändert.
    Natürlich solltest Du Deine ausgefüllten Werte behalten!
     
    #3
  4. cenobita77
    Offline

    cenobita77 Ist gelegentlich hier

    Registriert:
    18. September 2012
    Beiträge:
    71
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: RSYNC BACKUP - bachup-321tux.sh

    nein am Script habe ich nichts verändert, dass ist doch auch gut so, da braucht man eben nur die conf Datei anfassen.. Sehr gute Lösung.
    Was mit persönlich besser gefällt ist dies mit der Mailadresse, so wie ich es geschrieben habe im Blog... dann brauche ich dies nicht im crontab mit angeben, dass kann ja jeder so machen wie er es möchte, gibt ja genug Erklärungen dafür...

    Was ich jetzt noch nicht probiert habe ist, wie und ob das Script die Verzeichnisse mounten kann. Bisher habe ich das in meiner fstab gemacht, das muss ich mir noch anschauen. Ich sichere mit zwei Profilen auf zwei verschiedene Qnap NAS... diese Verzeichnisse mounte ich eben in der fstab...
    Was anderes habe ich noch nicht probiert

    so habe ich es eingetragen:
    # = = Profil 1 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    p_nr=1 # Fortlaufende Profil-Nummer
    title[$p_nr]="FHEM-Sicherung-Qnap219"
    arg[$p_nr]="r"
    source[$p_nr]="/opt"
    target[$p_nr]="$MOUNT/mnt/share/MD0_DATA/Sicherung/Backup_FHEM"
    log[$p_nr]="${target[$p_nr]}/$(date +%F)_${title[$p_nr]}.log"
    exfrom[$p_nr]="$(mktemp -t "tmp.rsync.XXXX")"
    rsync_opt[$p_nr]=""
    cat > "${exfrom[$p_nr]}" <<EOF
    dev/
    lost+found/
    mnt/
    proc/
    sys/
    tmp/
    var/tmp/
    video/
    EOF

    # = = Profil 2 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    ((p_nr++)) # Variable p_nr um eins hochzählen
    title[$p_nr]="FHEM-Sicherung-Qnap439"
    arg[$p_nr]="s"
    source[$p_nr]="/opt"
    target[$p_nr]="$MOUNT/mnt/share/HDD_DATA/Sicherung/Backup_FHEM"
    log[$p_nr]="${target[$p_nr]}/$(date +%F)_${title[$p_nr]}.log"
    exfrom[$p_nr]="$(mktemp -t "tmp.rsync.XXXX")"
    rsync_opt[$p_nr]=""
    cat > "${exfrom[$p_nr]}" <<EOF
    _incoming
    lost+found/
    portage/
    tmp/
    video/
    EOF

    der Pfad ist leer
    MOUNT="$(readlink -m/ )" # Mountpoint ist ein Symlink
     
    #4
  5. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Die Option, dass man die eMail-Adresse fest konfigurieren kann baue ich in die .conf noch ein; Gute Idee!

    Wenn das Ziel in der fstab steht (mit noauto), dann wird das Skript versuchen es Einzuhängen. Am Ende wird es auch wieder ausgehängt.

    Beispiel fstab mit NFS und SAMBA-Freigaben von meinem VDR:

    Code:
    # NFS-Freigaben von SheevaPlug
    SheevaPlug:/    /mnt/sheeva_root  nfs  noauto,rsize=8192,wsize=8192,timeo=14,intr  0 0
    SheevaPlug:/mnt/usbdisk  /mnt/sheeva_usbdisk  nfs  noauto,rsize=8192,wsize=8192,timeo=14,intr  0 0
    SheevaPlug:/mnt/usbdrive  /mnt/sheeva_stick  nfs  noauto,rsize=8192,wsize=8192,timeo=14,intr  0 0
    
    # Samba-Freigabe
    //SheevaPlug/root  /mnt/sheeva_root  cifs  defaults,user,username=root,password=xxx 0 0
    Die NFS-Freigaben werden nicht eingehängt (noauto) und erst vom Skript aktiviert.

    Nachtrag: Hier die exports auf meiner SheevaPlug:
    Code:
    # Root Filesystem
    /                 *(rw,no_subtree_check,no_root_squash,fsid=1)
    
    # USB-Festplatte
    /mnt/usbdisk         *(rw,no_subtree_check,no_root_squash)
    
    # USB-Stick
    /mnt/usbdrive         *(rw,no_subtree_check,no_root_squash)

    - - - - - - - - - -

    Mach daraus besser MOUNT=
     
    Zuletzt bearbeitet: 20. September 2014
    #5
  6. cenobita77
    Offline

    cenobita77 Ist gelegentlich hier

    Registriert:
    18. September 2012
    Beiträge:
    71
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: RSYNC BACKUP - bachup-321tux.sh

    Ok also bei MOUNT= den gnazen symlink weglassen..

    Das mit dem mounten/einhängen vom Script werde ich mal probieren, habe ich noch nicht gemacht. Bei mir sind die permanent gemountet...!
    VDR habe ich auch noch als Server mit einem XBMC openelec-Client, der macht mir aber nur Sorgen und braucht regelmäßig Zuwendung. Grad erst alles Neu gemacht, aber noch nicht weiter getestet ;-) OK andere Baustelle
     
    #6
  7. Jogi29
    Offline

    Jogi29 Ist oft hier

    Registriert:
    9. November 2009
    Beiträge:
    186
    Zustimmungen:
    78
    Punkte für Erfolge:
    28
    Ort:
    Ländle
    AW: RSYNC BACKUP - bachup-321tux.sh

    Hi,

    ich werde die neue Version des Scripts testen und berichten.
     
    #7
  8. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Ich habe mir das mal angeschaut. Das mit dem Einhängen funktioniert nur, wenn man auch den MOUNT= Parameter verwendet. Das geht dann auch nur, wenn für alle Profile das Sicherungsziel auf dem selben Einhängepunkt liegt.

    Ich glaube aber, dass ich das lösen kann, in dem ich bei den Profilen einen mount[]= mit einbaue und im Skript dann abfrage...
     
    #8
  9. Jogi29
    Offline

    Jogi29 Ist oft hier

    Registriert:
    9. November 2009
    Beiträge:
    186
    Zustimmungen:
    78
    Punkte für Erfolge:
    28
    Ort:
    Ländle
    AW: RSYNC BACKUP - bachup-321tux.sh

    noch eine Frage:
    wenn ich die Mailadresse mit MAILADRESS= setze, muss diese in Anführungszeichen gesetzt werden, wie eine Zeile zuvor bei MAILPROG="mpack"?

    Viele Grüße
    Jürgen
     
    #9
  10. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Grundsätzlich ist es gut alles in Anführungszeichen zu setzen (MAILADRESS="My@mail.de"). Es sollte aber auch ohne funktionieren.

    Ich habe eben eine aktuelle Version hochgeladen:

    • Neu ist der Versuch mit verschiedenen Einhängepunkten zu Arbeiten. Wer nur Einen hat verwendet weiterhin nur MOUNT=
      In den Profilen ist hierzu die Variable mount[$p_nr] dazugekommen.
    • Neu ist auch SHOWUSAGE="true" in den Einstellungen. Damit kann man wenn man es auskommentiert die Anzeige von df abschalten.
    • Neu auch, dass ich im Mailtext versuche immer nur ein Sicherungsziel und Verzeichnis anzuzeigen. Sollten keine mehr doppelt kommen.
    • Neu ist auch ein kleiner Countdown bevor die Sicherung startet
    • Und einige kleinere interne "Optimierungen"

    Im Quelltext und in der .conf sind viele Kommentare, die alles ein wenig erklären sollen ;)

    Bitte die .conf überprüfen, da neue Werte eingebaut oder verändert wurden:
    Neu: SHOWUSAGE
    Neu: mount[$p_nr]
    Neu: ftpsrc[$p_nr]
    geändert: target[$p_nr]="${mount[$p_nr]:-$MOUNT}/
     
    #10
  11. Jogi29
    Offline

    Jogi29 Ist oft hier

    Registriert:
    9. November 2009
    Beiträge:
    186
    Zustimmungen:
    78
    Punkte für Erfolge:
    28
    Ort:
    Ländle
    AW: RSYNC BACKUP - bachup-321tux.sh

    Vielen Dank, werden das Script sofort austauschen und die Conf ggf. erweitern, Bericht folgt.
     
    Zuletzt bearbeitet: 21. September 2014
    #11
  12. cenobita77
    Offline

    cenobita77 Ist gelegentlich hier

    Registriert:
    18. September 2012
    Beiträge:
    71
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: RSYNC BACKUP - bachup-321tux.sh

    ich setze alles in "" das geht immer :dance3:

    werde das die Woche mal testen...! sind Erklärungen dabei was, was macht..? gerade mit dem Mount Befehl, dass würde ich gerne probieren da ich verschiedene Einhängepunkte von zwei NAS habe
     
    #12
  13. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Ausschnitt aus der .conf:
    Code:
    # mount[$p_nr]     [optional] Eigener Einhängepunkt
    #                       ACHTUNG: Bei target[] kein $MOUNT angeben. Entweder vollen Pfad verwenden
    #                           oder die Varaible mount[$p_nr] oder "${mount[$p_nr]:-$MOUNT}" verwenden
    ...
     mount[$p_nr]=""             # Eigener Einhängepunkt
    ...
    target[$p_nr]="${mount[$p_nr]:-$MOUNT}/_Backup/VDR/Root"
    
    Wenn mount[$p_nr] ausgefüllt wird, dann wid das verwendet; ansonsten MOUNT
    Du kannst das in jedem Profil nun machen. MOUNT ist der Default, falls mount[$p_nr] leer ist

    Ist aber ungetestet.
     
    #13
  14. Jogi29
    Offline

    Jogi29 Ist oft hier

    Registriert:
    9. November 2009
    Beiträge:
    186
    Zustimmungen:
    78
    Punkte für Erfolge:
    28
    Ort:
    Ländle
    AW: RSYNC BACKUP - bachup-321tux.sh

    habe folgenden Eintrag in der backup.conf:
    MAILADRESS="info@meinname.de" # Ausfüllen, wenn man kein -e ... verwenden will (z.B. für crontab)
    eine Mail habe ich allerdings nicht erhalten. Mit -e in crontab hat der Mailversand geklappt.
     
    #14
  15. MegaV0lt
    Offline

    MegaV0lt Hacker

    Registriert:
    24. April 2011
    Beiträge:
    376
    Zustimmungen:
    84
    Punkte für Erfolge:
    28
    Geschlecht:
    männlich
    Ort:
    Neuland
    AW: RSYNC BACKUP - bachup-321tux.sh

    Hab es hier noch mal getestet. Geht. Du kannst im Skript die Zeile 249 auskommentieren, dann wird alles außer das Backup selbst gemacht:
    Code:
        eval rsync $RSYNC_OPT --log-file=\"$LOG\" --exclude-from=\"$EXFROM\" --backup-dir=\"$BAK_DIR\" $SOURCE \"$TARGET\"
    # an die erste Stelle setzten.

    Dann das Skript mit "bash -x backup..." starten. Parameter nicht vergessen (-p). In der Konsole kommen dann viele Debugausgaben, die den Fehler Zeigen müssten.

    Evtl. das aktuelle Skript von heute laden
     
    #15
    Jogi29 gefällt das.

Direkt Antworten

Überprüfung:
Der Entwurf wurde gespeichert Der Entwurf wurde gelöscht

Diese Seite empfehlen

OK Mehr information

Diese Seite verwendet Cookies. Mit Ihrem Klick auf OK stimmen Sie der Verwendung von Cookies zu. Andernfalls ist die Funktionalität dieser Website beschränkt.