Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv 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 verwehrt bleiben

Support RSYNC BACKUP - MV_Backup.sh (Linux - Bash)

AW: RSYNC BACKUP - backup-321tux.sh

Auf der Konsole gibt es keine Fehlermeldung?
Werden die Daten gesichert?
Hast Du auch bei MAILPROG sendEmail mit dem großen E eingetragen?

Zum testen kannst Du ein extra Profil (Test arg t) mit wenigen Daten anlegen und dann das Skript bash -x backup-321tux.sh -pt |tee -a /tmp/bkup.log.txt starten und mir die Datei per PN oder Mail senden.
 
AW: RSYNC BACKUP - backup-321tux.sh

auf der Konsole gestartet mit ./backup-FHEM_neu.sh -p r
es erscheint folgendes
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nein es wird nichts gesichert..!
Ja ich habe sendEmail so geschrieben, vorher ja auch schon so genutzt..

Warum dieser Fehler erscheint weiß ich nicht, denn vorher habe ich auch schon diesen Eintrag so genutzt
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Habe einfach nur das Script getauscht und die conf mit den neu eingetragenen Daten und diese tls Geschichte funktioniert ja auch noch mit dem älteren Backup

Hier mal das ältere Script und auch hier ist es eingetragen USETLS="-o tls=yes"

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
 
AW: RSYNC BACKUP - backup-321tux.sh

Danke für die Rückmeldung. Das "sendEmail"-Problem habe ich gelöst.

uCBQMnp.png


Der readlink Aufruf schlägt bei Dir fehl. Wenn der Mount kein Symlink ist, kannst Du auch ohne readlink auskommen. Also statt
MOUNT="$(readlink -m /mnt/usbdrive)" # Mountpoint ist ein Symlink

das verwenden:
MOUNT="/mnt/usbdrive" # Mountpoint ist kein Symlink

Die Sicherung an sich sollte laufen. Es wird nur nicht mehr am Bildschim angezeigt. Schau mal in das angegebene Log.
Das Skript hab ich Online aktualisiert (1. Post). Um die readlink Sache kümmere ich mich morgen. Werde das vermutlich im Skript erledigen statt in der conf.
 
Zuletzt bearbeitet:
AW: RSYNC BACKUP - backup-321tux.sh

also ehrlich gesagt hatte ich es zum testen auskommentiert, weil ich gar nicht weiß für was ich das brauche *unwissend*

EDITH://
also heute Abend lief das Script nicht...
Hatte das aktuelle von der ersten Seite genommen und habe nur die xxxx.sh Datei auf meinen Server gespielt, da die conf ja wohl gleich geblieben ist
 
Zuletzt bearbeitet:
AW: RSYNC BACKUP - backup-321tux.sh

MOUNT kann man setzen, wenn das Skript prüfen soll, ob die Platte wo hingesichert wird auch eingehängt ist. Der Parameter ist optional und kann auch auskommentiert werden (#). Oder Mount=""

Wenn das Skript nicht läuft, dann brauche ich Debugmeldungen.

Starten z.b. so:
bash -x backup-321tux.sh -c test.conf -pr 2>&1 | tee -a /tmp/bkp.txt

Die Datei bkp.txt brauche ich zum Auswerten. In der Datei evtl. noch die Mail-Angaben unkenntlich machen!
Evtl. sind auch die erstellten .log Dateien nützlich
 
AW: RSYNC BACKUP - backup-321tux.sh

EDITH:// ich glaube ich habe den Fehler schon behoben....!
ich muss einfach diese Zeile auskommentieren...!
#MOUNT="$(readlink -m /mnt/usbdrive)" # Mountpoint ist ein Symlink

habe es jetzt 2x laufen lassen funktioniert nun...

hier mal die Backup Datei, leider weiß ich nicht wie ich hier was anhängen kann


Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Wenn das Thema erledigt ist...
habe ich dann noch eine weitere Frage, wie ich das Script einsetzen kann wenn ich von einem Webserver Bilder abholen möchte wie ich das eintragen kann... Frage ganauer kommt dann später...

Also da ich es so einsetzen möchte das dieses Script mir von einem Webserver Bilder meiner Cam abholen soll und diese auf meinem Qnap sichern soll die Frage nach einem Beispiel der Abholung von einem FTP, wie diese Eintragung aussehen soll.

der Pfad auf dem Webserver sieht so aus:
Quellpfad: /html/cam/upload/06
# 06 ist in dem Fall die Kalenderwoche, das ändert sich aber da muss ich mal schauen wie ich das mache ob ich einen Ordner höher gehe und das dann mit den älteren Dateien/Bilder irgendwie löschen lassen. Aber das ist nicht das Problem.

Es muss aber doch irgendwo noch der Server mit dem Domainnamen eingetragen werden, das ist mir noch nicht ganz klar.
 
Zuletzt bearbeitet:
AW: RSYNC BACKUP - backup-321tux.sh

Du hast MOUNT aus dem Beispiel drin gelassen. Du solltest Mount aus der .conf raus nehmen: # vor MOUNT= (#MOUNT="/mnt/usbdrive"). Im Kommentar steht ja auch, dass der Parameter optional ist. Ich verwende das um die Sicherungsplatte automatisch einzuhängen.

Oder Du ersetzt den Pfad durch den, den ich in der Ausgabe oben sehe: /mnt/NAS_TS219.
Das wäre dann: MOUNT="/mnt/NAS_TS219"

Wegen dem Falschen Mount stimmen diverse Pfade danach nicht. Beispiel:
+ TARGET=/mnt/usbdrive/mnt/NAS_TS219/Backup_FHEM/Qnap-219-Backup-FHEM
+ LOG=/mnt/usbdrive/mnt/NAS_TS219/Backup_FHEM/Qnap-219-Backup-FHEM/2016-04-13_FHEM-Sicherung-Qnap219.log


In der Profilkonfiguration müsste dann so was stehen (MOUNT gesetzt [s. o.]):
target[$nr]="${mount[$nr]:-$MOUNT}/Backup_FHEM/Qnap-219-Backup-FHEM"

Achtung: Bei Deiner conf ist noch $p_nr drin anstelle von $nr. Wenn Du das mit p_nr lassen willst, dann würde die Zeile so aussehen:
target[$p_nr]="${mount[$p_nr]:-$MOUNT}/Backup_FHEM/Qnap-219-Backup-FHEM"

ODER Du möchtest MOUNT nicht verwenden, dann würde die Zeile so aussehen (mit dem alten $p_nr):
target[$p_nr]="/mnt/NAS_TS219/Backup_FHEM/Qnap-219-Backup-FHEM"

 
AW: RSYNC BACKUP - backup-321tux.sh

ja ich hatte ja oben schon geschrieben, nachdem ich den Fehler in der angehängten Textdatei gesehen hatte, habe ich das mal auskommentiert und dann funktionierte es auch.

ich werde das in der conf auf die neue Version anpassen und testen..! Da ich den Mount für zwei Qnaps zur Sicherung nutze muss ich oben dann sicher beide eintragen oder geht das auch hintereinander, so dachte ich mir das
MOUNT="/mnt/NAS_TS219"
MOUNT="/mnt/NAS_TS439"

target[$nr]="${mount[$nr]:-$MOUNT}/Backup_FHEM/Qnap-219-Backup-FHEM"


das funktioniert nicht, wenn ich es wie oben eingebe..!

wenn ich es aber so eingebe und Mount auskommentiert habe - funktioniert das wieder..?
target[$nr]="${mount[$nr]:-$MOUNT}/mnt/NAS_TS219/Backup_FHEM/Qnap-219-Backup-FHEM"
 
AW: RSYNC BACKUP - backup-321tux.sh

Ich hatte das mal so gelöst, dass ich mit curlftpfs den TFP als lokales Verzeichnis eingehängt habe und dann die Sicherung laufen ließ. Zur Konfiguration:
Im Profil ist ftpsource der FTP, der gemountet wird und dann ist source der lokale Einhängepunkt. Der Rest ist wie gehabt...

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Würde dann den Inhalt von upload sichern...

Wichtig source nach ftpmnt und ftpsrc
Oder source[$nr]="/mnt/remote_ftp/html/cam/upload"

der .conf-Abschnitt dazu:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Erster Test hat geklappt...

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
So sieht die dazu gehöriche Profilkonfig aus:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
 
Zuletzt bearbeitet von einem Moderator:
AW: RSYNC BACKUP - backup-321tux.sh

Wenn Du zwei mal Mount= eingibst, dann gilt die zweite Definition. Das kann nicht gehen. Das Skript läuft jeweils auf einer der beiden QNAP's? Dann in der jeweiligen .conf ein mal den MOUNT zur passenden Maschine angeben.

Wenn Du aber für verschiedene Profile verschiedene Einhängepunkte brauchst, dann kannst Du mount[$nr]= im Profil verwenden
 
AW: RSYNC BACKUP - backup-321tux.sh

Als nächstes baue ich noch eine Funktion ein, mit der Dateien auf der Quelle gelöscht werden, wenn sie
A) älter als x Tage sind und
B) auch im Sicherungsziel vorhanden sind.

Das ist aber trotzdem gefährlich, weil wenn da das falsche gelöscht wird ist es weg...
 
AW: RSYNC BACKUP - backup-321tux.sh

Danke für die FTP Geschichte das werde ich mir zuhause die Tage ganz in Ruhe mal anschauen...

Zu dem nächsten Test hier mit Mount, ich habe erst einmal nur einen Mount angegeben, aber das funktiniert nicht...!
Aber mach dir kein Kopf ich kann den Pfad ja im target eingeben und damit geht das ja

Hier nochmal zur Übersicht

So funktioniert es nicht:
MOUNT="/mnt/NAS_TS219"
target[$nr]="${mount[$nr]:-$MOUNT}/Backup_FHEM/Qnap-219-Backup-FHEM"


So funktioniert es:
ohne Mount
target[$nr]="${mount[$nr]:-$MOUNT}/mnt/NAS_TS219/Backup_FHEM/Qnap-219-Backup-FHEM"
 
AW: RSYNC BACKUP - backup-321tux.sh

Sollte eigentlich klappen. Hast Du in dem entsprechenden Profil mount[$nr] auch leer?

Wenn mount[$nr] gesetzt ist, wird das verwendet; Ansonsten mit MOUNT ersetzt.

Das Skript prüft ja auch noch, ob MOUNT in der mtab vorhanden ist (also eingehängt). Vielleicht hängt es ja da. Müsste aber auch angezeigt werden.

PS: Die ersten versuche mit dem Löschen auf der Quelle sehen gut aus... Allerdings wird sich das Handling der Sicherungsdaten etwas ändern. Momentan landen alle Dateien in einen Ordner namens _FILES. Nur wenn die Quelle / ist, geht alles nach ROOTFS. Parallel dazu liegen ja die Logs und der Ordner "Geloeschte Dateien"
 
AW: RSYNC BACKUP - backup-321tux.sh

Nächste Runde! Ein neuer Parameter zum löschen von alten Dateien in der Quelle ist dazu gekommen.

Der Parameter kann nur mit einem Profil verwendet werden. (-p)
Es werden noch keine Dateien gelöscht. Es wird angezeigt, welche Dateien Löschkandidaten sind
Syntax ist --del-old-source[=]<Wert> (--del-old-source 40 oder --del-old-source=40)

Ein Probelauf bei mir sieht so aus:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Das Skript macht folgendes:
- In der Quelle alle Dateien älter als x Tage einlesen.
- Eingelesene Liste dazu verwenden, um zu prüfen, ob die Datei auch auf dem Ziel vorhanden ist.
- Liste verwenden um die Dateien in der Quelle zu löschen
- Auf der Quelle alle leeren Ordner älter als x Tage löschen

Ich lade das neue Skript jetzt hoch und würde Dich bitten mal zu testen, was bei dem --del-old-source bei Dir raus kommt. Wenn das alles so passt, dann würde ich in den Zeilen 213 und 215:
printf "%s\n" "${MAPFILE[@]}" #| xargs rm --verbose '{}' >> "$LOG"
find "./" -type d -empty -mtime +"$DEL_OLD_SOURCE" #-delete >> "$LOG"

die # entfernen und das löschen aktivieren.
 
AW: RSYNC BACKUP - backup-321tux.sh

Also das Script setze ich zur Zeit nur in meiner Hausautomation ein und hier funktioniert es nun mit der neuen Version "ohne" Mount mit Angabe des Pfads in der target Zeile... Das reicht mir so.

Mit dem FTP setze ich mich die Tage auseinander, da dieses etwas schwieriger wird für mich da ich mangels an Möglichkeiten dies noch nicht gemacht habe.
Dazu muss ich es erst einmal anpassen was de Pfade betrifft....! da ich jetzt ein paar Tage nicht da bin, wird das ein wenig dauern, ich schaue aber trotzdem hier zwecks Information rein.
 
Zuletzt bearbeitet:
Zurück
Oben