Basic Backup Basic Backup

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich habe da jetzt selbst nochmal mit den exlude patterns gespielt. In einigen Dingen verhält sich das aus meiner Sicht dennoch etwas seltsam und kann mir zumindest die letzten Beispiele mit --exclude=recycle/* oder --exclude=recycle/** nicht erklären.

Folgende Struktur habe ich als Beispiel erstellt:
Code:
$ tree
.
├── recycle
├── sub1
│   └── foo
│       └── recycle            # Dies ist eine Datei
├── sub2
│   └── bar
└── sub3
    └── foobar
        └── recycle

Code:
#
# Ohne exclude
$ rsync -aP --dry-run ./ /temp
sending incremental file list
./
recycle/
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/
sub3/foobar/recycle/
# exclude alle Vrokommnisse von "recycle"


$ rsync -aP --dry-run --exclude=recycle ./ /temp
sending incremental file list
./
sub1/
sub1/foo/
sub2/
sub2/bar/
sub3/
sub3/foobar/
# exclude nur "recycle" Verzeichnis auf der root ebene --> relativ zum Source Verzechnis


$ rsync -aP --dry-run --exclude=/recycle ./ /temp
sending incremental file list
./
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/
sub3/foobar/recycle/
# exclude alle Verzeichnisse rekursiv mit dem Namen "recycle" --> Die Datei "sub1/foo/recycle" bleibt da kein Verzeichnis


$ rsync -aP --dry-run --exclude=recycle/ ./ /temp
sending incremental file list
./
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/
# recycle/*


$ rsync -aP --dry-run --exclude=recycle/* ./ /temp
sending incremental file list
./
recycle/
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/
sub3/foobar/recycle/
# recycle/**


$ rsync -aP --dry-run --exclude=recycle/** ./ /temp
sending incremental file list
./
recycle/
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/
sub3/foobar/recycle/
# recycle/***


$ rsync -aP --dry-run --exclude=recycle/*** ./ /temp
sending incremental file list
./
sub1/
sub1/foo/
sub1/foo/recycle
sub2/
sub2/bar/
sub3/
sub3/foobar/

Aus dem rsync manual kannn man unter dem Kapitel "INCLUDE/EXCLUDE PATTERN RULES" folgendes entnehmen:
  • a * matches any path component, but it stops at slashes.
  • use ** to match anything, including slashes.
Auch interessant:
Note that, when using the --recursive (-r) option (which is implied by -a), every
subcomponent of every path is visited from the top down, so include/exclude patterns get
applied recursively to each subcomponent’s full name (e.g. to include "/foo/bar/baz" the
subcomponents "/foo" and "/foo/bar" must not be excluded).


Aber so wie @Tommes das realisiert hat passt das schon zu dem Vorhaben, die vorhanden Papierkörbe auszuschließen.
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
@bonito
Kannst du auf der Hauptseite von Basic Backup unter dem Punkt Systemumgebung sehen, ob der AutoPilot Status auf "aktivert" steht? Falls nein, klick auf den Link und folge der Anleitung. Hasttest du AutoPilot bereits aktiviert und die Anleitung "Externen Datenträger für AutoPilot einrichten" befolgt, dann sollte theoretisch alles funktionieren.

Gehen wir mal davon aus, das du alles richtig gemacht hast, hätte ich aktuell nur eines, was du versuchen könntest. Erstelle mal einen Testauftrag und verwende dabei einen anderen externen USB-Datenräger wie z.B. einen USB-Stick oder so und probier es erneut. Sollte das auch nicht funktionieren, muss ich auch dieses nochmal bei mir durchtesten. Es kann ja sein, das sich aus irgendeinem Grund, irgendwo etwas verändert hat... im DSM z.B.

Tommes
Folgendes sagt Basic Backup zur Systemumgebung:

RSync ist aktiviert ...
SSH Staus Der SSH Terminal-Dienst ist aktiviert ...
Benutzerbasus Status Der Benutzer Home Dienst ist aktiviert
AutoPilot Status Die USB/SATA-AutoPilot Funktion iset aktiviert ...
App Berechtigungsstatus Basis Backup verfügt über erweiterte Systemberechtigungen ...

Ergo es ist alles grün.

Die Datei auf dem USB Laufwerk gehört dem Administrator mit der Gruppe "users', liegt das vielleicht an der Gruppe?
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Ich habe die Erkennung des Laufwerk via UUID eingestellt .. falls das ein Problem sein könnte.
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Anderes USB Gerät mit gleichem Script .. gleiches Problem.

Das Script sieht so aus:

#!/bin/bash
bash /usr/syno/synoman/webman/3rdparty/BasicBackup/rsync.sh --job-name="BasicBackup"
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Hui... ich muss mich mal kurz sortieren!

An @Benares und @luddi gerichtet...
Zunächst einmal möchte ich mich für eure Aufmerksamkeit bedanken und das ihr Dinge hinterfragt, die ich hier raushaue. Zu meiner Verteidigung muss ich aber gestehen, das ich mir den Teil mit dem --exclude=#recycle/*** aus Ultimate Backup geklaut habe, da wir das bereits dort verwendet hatten. Warum da jetzt aber drei *** (Sternchen) stehen und nicht zwei oder gar einer, kann ich grad nicht wirklich beantworten. Du @luddi hast dich ja bereits darüber informiert bezüglich * und ** und dieses auch getestet.

Aber so wie @Tommes das realisiert hat passt das schon zu dem Vorhaben, die vorhanden Papierkörbe auszuschließen.
Und darauf kommt es am Ende ja an. Denn es scheint ja auch schon lange Zeit zu funktionieren, da sich bisher auch niemand beschwert hat. Auch unter Ultimate Backup hat das immer anstandslos funktioniert. Aber wie gesagt, ich habe grade keine Antwort darauf, warum da drei Sternchen stehen. PsychoHH könnte das sicherlich beantworten, aber der ist seit langem "out of order". Aber ich notiere mir das und forsche nach.

@bonito
Dann sei doch bitte mal so nett und schau mal, ob du im Backup Ziel deines Auftrages im Ordner /@configs die Auftrafskonfiguration findest und öffnen könntest. Die Datei trägt den Namen deines Auftrages mit der Dateiendung .config Eventuell musst du dir noch die nötigen Rechte zum öffnen der Datei geben. Ich hoffe, du weißt wie das geht. Jedenfalls....

Such in der Konfigurationsdatei die Zeile...
Bash:
# UUID des Datensicherungsziels festlegen, wenn es sich um einen ext. USB/SATA-Datenträger handelt
var[uuid]="D4E68928D6780D34"
... und sag mir, ob hinter dem Wert var[uuid]= bei dir eine ähnlich lange ID eingetragen ist, oder eine ID, die über mehrer Zeilen geht? Du brauchst mir die ID nicht zu zeigen, mir reicht die Info, wie Lang die ID ist.

Sollte sich die ID über mehrere Zeilen erstrecken, so habe ICH ein Problem bei der Verarbeitung der UUID, da ich bisher davon ausgegangen bin, das diese stets recht kurz und somit einzeilig daher kommt. Das Problem müsste ich erstmal lösen.

Bis dahin müsstest du auf die Abfrage der UUID bis auf weiteres verzichten, also die Option "Einhängepunkt anhand der Geräte UUID identifizieren und gegebenfalls anpassen" wieder zurücknehmen.

Tommes
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Ähm... @bonito ... es könnte sogar noch einfacher gehen, je nachdem, ob AutoPilot ein aussagekräftiges Protokoll erstellen konnte. Das AutoPilot Protokoll findest du hier...
1678123534434.png
... und sollte sowas ähnliches wie das hier auswerfen...

# ---
2023-03-06 18:11:55 Externer Datenträger wurde erkannt. Gerätename /dev/usb1p1
2023-03-06 18:11:55 /dev/usb1p1 - Einhängepunkt im Dateisystem /volumeUSB1/usbshare
2023-03-06 18:11:55 /dev/usb1p1 - Identifikationsnummer (UUID) D4E68928D6780D34
2023-03-06 18:11:55 /dev/usb1p1 - Das Script /volumeUSB1/usbshare/autopilot wurde lokalisiert
2023-03-06 18:11:55 /dev/usb1p1 - Das Script /volumeUSB1/usbshare/autopilot wurde gestartet.
2023-03-06 18:12:08 /dev/usb1p1 - Das Script /volumeUSB1/usbshare/autopilot ist durchgelaufen.
2023-03-06 18:12:08 Der externe USB/SATA-Datenträger bleibt eingehängt. (/dev/usb1p1)
# ---
... dort wird ja ebenfalls die UUID ausgegeben.

Tommes
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
BasicBackuop meint: keine Protokolleinträge vorhanden!
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
In der Konfigurationsdatei finde ich folgendes:
# UUID des Datensicherungsziels festlegen, wenn es sich um einen ext. USB/SATA-Datenträger handelt
var[uuid]="0ebef2b2-0bdd-4d7f-8beb-e2331b1c666c"
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Also das ich was vermurkst habe glaube ich sofort ;)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Nun, die UUID wurde vom System schon mal korrekt eingetragen. Das ist schon mal gut zu wissen. Nichts desto trotz schreibe ich grade eine Funktion, die eine UUID (VSN oder auch generierte SN) auf Gültigkeit überprüft. Aber das nur nebenbei.

Was mir aber grade einfällt! Hast du in der AutoPilot Konfiguration - findest du oben rechts auf der Hauptseite von Basic Backup unter Systemeinstellungen -> USB/SATA-AutoPilot - den Haken bei „ Nach dem anschließen des externen Datenträgers die AutoPilot Scriptdatei automatisch ausführen“ angehakt?

Tommes
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Das ist schon besser .. aber

Externer Datenträger wurde erkannt. Scriptdatei [ /volumeUSB1/usbshare/autopilot ] wird ausgeführt...
Datensicherung abgebrochen! Die Auftragskonfiguration konnte nicht eingelesen werden.
Die Scriptdatei [ /volumeUSB1/usbshare/autopilot ] wurde ausgeführt, der externe Datenträger aber nicht ausgeworfen. Außerdem sind während der Scriptausführung Fehler aufgetreten. Nähere Angaben entnehmen Sie bitte dem AutoPilot-Protokoll.

2023-03-10 11:19:21 Externer Datenträger wurde erkannt. Gerätename /dev/usb1p1
2023-03-10 11:19:21 /dev/usb1p1 - Einhängepunkt im Dateisystem /volumeUSB1/usbshare
2023-03-10 11:19:21 /dev/usb1p1 - Identifikationsnummer (UUID) 0ebef2b2-0bdd-4d7f-8beb-e2331b1c666c
2023-03-10 11:19:21 /dev/usb1p1 - Das Script /volumeUSB1/usbshare/autopilot wurde lokalisiert
2023-03-10 11:19:21 /dev/usb1p1 - Das Script /volumeUSB1/usbshare/autopilot wurde gestartet.
2023-03-10 11:19:31 /dev/usb1p1 - Während der Ausführung des Scripts /volumeUSB1/usbshare/autopilot sind Fehler aufgetreten! Exit-Code: 1
2023-03-10 11:19:31 Der externe USB/SATA-Datenträger bleibt eingehängt. (/dev/usb1p1)
# ---
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Was sagt denn das Sicherungsprotokoll deines Auftrages?
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8

Meinst du das?


Basic Backup Version: 0.7-035 | Script Version: 0.7-035 | Job Version: 0.7-000
-------------------------------------------------------------------------------------------------------------------
2023-03-06 11:06:25 - Der Datensicherungsauftrag wird gestartet...
-------------------------------------------------------------------------------------------------------------------
Die Auftragskonfiguration wird eingelesen [ Backup.config ]
Der Verbindungstyp ist eine lokale Sicherung
Das Datensicherungsziel befindet sich auf einem lokal angeschlossenen USB/SATA-Datenträger.
Der Einhängepunkt des USB/SATA-Datenträgers wird anhand der Geräte UUID überprüft.
Der Einhängepunkt stimmt mit der Geräte UUID überein.
Das Datensicherungsziel wurde lokalisiert.
Start der rsync-Datensicherung...

-------------------------------------------------------------------------------------------------------------------
2023-03-06 11:06:25 - Schreibe rsync-Protokoll fuer den Quellordner...
➜ /volume1/homes
-------------------------------------------------------------------------------------------------------------------

Number of files: 97,759 (reg: 96,894, dir: 865)
Number of created files: 0
Number of deleted files: 0
Number of regular files transferred: 0
Total file size: 255.42G bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 327.61K
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 1.83M
Total bytes received: 1.18K

sent 1.83M bytes received 1.18K bytes 282.13K bytes/sec
total size is 255.42G speedup is 139,284.06
-------------------------------------------------------------------------------------------------------------------
Hinweis: Die DSM Systemkonfiguration sowie die Konfiguration des Basic Backup Auftrages wurden gesichert.
Hinweis: Ein neuer Eintrag wurde dem Versionsverlauf hinzugefuegt.
-------------------------------------------------------------------------------------------------------------------
2023-03-06 11:06:36 - Der Datensicherungsauftrag Backup ist nun abgeschlossen.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Ja, genau das meinte ich. Interpretiere ich dein Protokoll richtig , das…

Number of files: 97,759 (reg: 96,894, dir: 865)

Total file size: 255.42G bytes
Total transferred file size: 0 bytes

Total bytes sent: 1.83M
Total bytes received: 1.18K
… eigentlich nichts ins Ziel übertragen wurde? Welches Dateisystem befindet sich auf dem
USB Gerät? Fat32, ntfs, ext3/4 etc.?

Du kannst eine erweiterte Fehleranalyse anstoßen, indem du deinem Auftrag ein -v bzw. -vv mitgibst, als so…

bash /usr/syno/synoman/webman/3rdparty/BasicBackup/rsync.sh -vv --job-name="[JOB-NAME]"

… mach das mal, führ den Auftrag erneut aus und schau dir das Auftragsprotokoll erneut an. Vielleicht erhältst du so Hinweise, warum dein Auftrag abbricht.
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Ich hatte ein Backuop von Hand angestossen und kurz darauf noch eines gestartet. Nicht weil das Sinn macht oder nötig war, sondern wil ich sehen wollte, ob das rsync und die Hardlinks richtig funktionieren.
Das Dateisystem ist ext4.
Ich füge mal -vv hinzu ...
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
Also nach autopilot hat sich das Prokoll nicht verändert, es ist noch das alte. Ich habe das nach der manuellen Ausführung noch mal getestet. Der Start per autopilot führt zu keinem Eintrag im Protkoll.



Wenn ich den Job von Hand starte läuft das Backup an und wird erfolgreich beendet.
Dabei enthält das Protokoll quasi für jede Datei einen Eintrag und am Ende:
-------------------------------------------------------------------------------------------------------------------
Hinweis: Die DSM Systemkonfiguration sowie die Konfiguration des Basic Backup Auftrages wurden gesichert.
Hinweis: Ein neuer Eintrag wurde dem Versionsverlauf hinzugefuegt.
-------------------------------------------------------------------------------------------------------------------
2023-03-10 12:39:58 - Der Datensicherungsauftrag Backup ist nun abgeschlossen.

Ergo die "Aufgabe" funktioniert .. aber das Starten per autopilot will nicht.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Ein absolut seltsames und für den Moment für mich auch nicht nachvollziehbares Verhalten. Ich schau mir das am WE aber nochmal in Ruhe an. Das Einzige, was du für mich grad noch tun könntest, wäre, die Sache mit der UUID mal aus dem Auftrag zu nehmen um es dann nochmal zu probieren. Ich meine damit, die Option, das ein Datenträger anhand seiner UUID identifiziert wird. Das wäre wirklich toll, wenn du mir hier noch sagen könntest, ob das am Ergebnis etwas ändert.

Ich kümmer mich und werde berichten, sobald ich noch Fragen an dich habe, oder besser noch, mit einer Lösung aufwarten kann.

Tommes
 

bonito

Benutzer
Mitglied seit
06. Mrz 2023
Beiträge
32
Punkte für Reaktionen
5
Punkte
8
ok - Vielen Dank erstmal!
Das ohne UUID versuche ich.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Ich hab zu danken, das du mir die Gelegenheit gibst, nachzubessern und nicht gleich aufgibst!
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat