Test-Plattform (wie regex101) um rsync folder patterns zu testen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1205
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Test-Plattform (wie regex101) um rsync folder patterns zu testen

Beitrag von buhtz » 04.04.2023 10:44:31

Ich stolpere häufiger über das Problem, wie man bei Debianrsync Muster für include/exclude Verzeichnisse eingibt.

Abgesehen von RegEx selbst scheint es hier magische Regeln zu geben, die sich mir bisher nicht erschlossen haben.

Bei RegEx nutze ich gerne regex101 um diverse Dinge auszuprobieren und es hübsch bunt erklärt zu bekommen.

Gibt es sowas auch für Rsync?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

reox
Beiträge: 2515
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Test-Plattform (wie regex101) um rsync folder patterns zu testen

Beitrag von reox » 04.04.2023 10:52:11

Ich glaube das Problem ist, dass bei rsync nicht nur das pattern selber wichtig ist (was eine mischung aus bash wildcards und regex ist: https://manpages.debian.org/bullseye-ba ... HING_RULES) sondern dass wildcards evt auch von der bash interpretiert werden und das die reihenfolge von includes/excludes entscheident ist: https://manpages.debian.org/bullseye-ba ... LUDE_RULES
So ein Tool müsste also deinen Verzeichnisbaum kennen, die Shell die du verwendest, wie du das pattern escaped hast und nur dann könnte man das testen.

chrbr
Beiträge: 623
Registriert: 29.10.2022 15:53:26

Re: Test-Plattform (wie regex101) um rsync folder patterns zu testen

Beitrag von chrbr » 04.04.2023 12:22:33

Für rsync gibt es die Option --dry-run. Mit dieser Option zeigt die Ausgabe für rsync an, was rsync ohne die Option --dry-run tun würde. Damit könnte man also auch Ausdrücke testen ohne Schaden anrichten zu können.

reox
Beiträge: 2515
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Test-Plattform (wie regex101) um rsync folder patterns zu testen

Beitrag von reox » 04.04.2023 12:54:35

chrbr hat geschrieben: ↑ zum Beitrag ↑
04.04.2023 12:22:33
Für rsync gibt es die Option --dry-run. Mit dieser Option zeigt die Ausgabe für rsync an, was rsync ohne die Option --dry-run tun würde. Damit könnte man also auch Ausdrücke testen ohne Schaden anrichten zu können.
Ah daran hatte ich jetzt gar nicht gedacht! Sinnvoll ist dann wohl auch noch 2x --verbose, damit erhält man auch Infos warum eine Datei mitgenommen wurde oder nicht.
Hier mal nur ein Beispiel von einem Ordner den ich grad rumliegen hatte:

Code: Alles auswählen

$ rsync -avv --include '*1321*.jpg' --exclude '*132???.jpg' --dry-run . ..
sending incremental file list
[sender] hiding file 20210417_132001.jpg because of pattern *132???.jpg
[sender] hiding file 20210417_132024.jpg because of pattern *132???.jpg
[sender] hiding file 20210417_132038.jpg because of pattern *132???.jpg
[sender] hiding file 20210417_132048.jpg because of pattern *132???.jpg
[sender] hiding file 20210417_132053.jpg because of pattern *132???.jpg
[sender] showing file 20210417_132104.jpg because of pattern *1321*.jpg
[sender] showing file 20210417_132109.jpg because of pattern *1321*.jpg
[sender] hiding file 20210417_132256.jpg because of pattern *132???.jpg
delta-transmission disabled for local transfer or --whole-file
./
20210417_131923.jpg
20210417_131927.jpg
20210417_131934.jpg
20210417_131942.jpg
20210417_131945.jpg
20210417_131948.jpg
20210417_131952.jpg
20210417_131956.jpg
20210417_132104.jpg
20210417_132109.jpg
Readme.md
total: matches=0  hash_hits=0  false_alarms=0 data=0

sent 272 bytes  received 115 bytes  774.00 bytes/sec
total size is 38,123,948  speedup is 98,511.49 (DRY RUN)

Antworten