Digital Eliteboard

Registrieren dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwert bleiben

Talk RSYNC BACKUP - backup-321tux.sh

Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#1
Ich möchte hier eine Anlaufstelle für meine Weiterentwicklung des Backup-Skript's "backup-321tux.sh" von
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.
eröffnen.



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 musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.
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 musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.


Meine aktuelle Version bekommt man im GIT:
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.

Originalversion zum Vergleich ist ebenfalls enthalten.

Den aktuellen Stand im GIT als
Du musst dich Anmelden um diesen Link zusehen. Melde dich an oder Registriere dich jetzt.
 
Zuletzt bearbeitet:

cenobita77

Ist gelegentlich hier
Mitglied seit
18. September 2012
Beiträge
71
Gefällt mir
0
Punkte
6
#2
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..?
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#3
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!
 

cenobita77

Ist gelegentlich hier
Mitglied seit
18. September 2012
Beiträge
71
Gefällt mir
0
Punkte
6
#4
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
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#5
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)

- - - - - - - - - -

der Pfad ist leer
MOUNT="$(readlink -m/ )" # Mountpoint ist ein Symlink
Mach daraus besser MOUNT=
 
Zuletzt bearbeitet:

cenobita77

Ist gelegentlich hier
Mitglied seit
18. September 2012
Beiträge
71
Gefällt mir
0
Punkte
6
#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
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#8
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...
 
Mitglied seit
9. November 2009
Beiträge
200
Gefällt mir
95
Punkte
28
#9
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
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#10
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}/
 
Mitglied seit
9. November 2009
Beiträge
200
Gefällt mir
95
Punkte
28
#11
AW: RSYNC BACKUP - bachup-321tux.sh

Vielen Dank, werden das Script sofort austauschen und die Conf ggf. erweitern, Bericht folgt.
 
Zuletzt bearbeitet:

cenobita77

Ist gelegentlich hier
Mitglied seit
18. September 2012
Beiträge
71
Gefällt mir
0
Punkte
6
#12
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"?
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
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#13
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.
 
Mitglied seit
9. November 2009
Beiträge
200
Gefällt mir
95
Punkte
28
#14
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.
 
Thread Starter
OP
MegaV0lt
Mitglied seit
24. April 2011
Beiträge
414
Gefällt mir
119
Punkte
43
#15
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
 

Oben