Rsync-Optionen für die Kommandozeile

Hallo,
ich stelle gerade Daten von einem alten NAS (im degradierten Modus) per SSH auf mein neues NAS (TS-664 mit QTS 5.2.6.3195) und rsync wieder her.
Leider scheinen nicht alle Optionen von rsync verfügbar zu sein.

Kann mir jemand sagen, welche Version von rsync mit QTS ausgeliefert wird und vielleicht einen Link zur passenden Dokumentation bereitstellen?

Viele Grüße,
Frédéric

Geben Sie ein:
rsync -version
und
rsync -help

Das sollte Ihnen die installierte Version sowie die verfügbaren Optionen anzeigen.

1 „Gefällt mir“

Die „aktuelle“ QTS/QuTS-Version scheint eine ordentliche Version von rsync zu haben.

Was bekommst du auf der alten Box?
Ich benutze normalerweise -aPv, aber ich hatte schon meinen Spaß mit entweder busybox oder Windows-Dateisystemen in der Vergangenheit.
--recursive --times --partial --progress --verbose sollte in so gut wie jeder rsync-Version enthalten sein und ermöglicht dir die Migration von Daten.

[weedy@TheVault ~]$ rsync --help
rsync  version 3.0.7  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, und andere.
Webseite: http://rsync.samba.org/
Fähigkeiten:
    64-Bit-Dateien, 64-Bit-Inums, 64-Bit-Zeitstempel, 64-Bit-Long-Ints,
    keine Socketpairs, Hardlinks, Symlinks, IPv6, Batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes

rsync wird OHNE JEGLICHE GARANTIE geliefert. Dies ist freie Software und du
kannst sie unter bestimmten Bedingungen weitergeben. Siehe die GNU
General Public Licence für Details.

rsync ist ein Dateiübertragungsprogramm, das effiziente Remote-Updates
über einen schnellen Differenzierungsalgorithmus ermöglicht.

Verwendung: rsync [OPTION]... SRC [SRC]... DEST
  oder   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  oder   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  oder   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
  oder   rsync [OPTION]... [USER@]HOST:SRC [DEST]
  oder   rsync [OPTION]... [USER@]HOST::SRC [DEST]
  oder   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
Die „:“-Verwendungen verbinden über eine Remote-Shell, während „::“ & „rsync://“-Verwendungen
mit einem rsync-Daemon verbinden und erfordern, dass SRC oder DEST mit einem Modulnamen beginnt.

Optionen
 -v, --verbose               erhöhte Ausführlichkeit
 -q, --quiet                 unterdrückt Nicht-Fehlermeldungen
     --no-motd               unterdrückt MOTD im Daemon-Modus (siehe Handbuch-Hinweis)
 -c, --checksum              überspringt basierend auf Prüfsumme, nicht Mod-Zeit & Größe
 -a, --archive               Archivmodus; entspricht -rlptgoD (kein -H,-A,-X)
     --no-OPTION             schaltet eine implizierte OPTION aus (z.B. --no-D)
 -r, --recursive             rekursiv in Verzeichnisse gehen
 -R, --relative              relative Pfadnamen verwenden
     --no-implied-dirs       keine implizierten Verzeichnisse mit --relative senden
 -b, --backup                Backups erstellen (siehe --suffix & --backup-dir)
     --backup-dir=DIR        Backups in Hierarchie basierend auf DIR erstellen
     --suffix=SUFFIX         Backup-Suffix setzen (Standard ~ ohne --backup-dir)
 -u, --update                überspringt Dateien, die auf dem Empfänger neuer sind
     --inplace               Ziel-Dateien direkt aktualisieren (SIEHE HANDBUCH)
     --append                Daten an kürzere Dateien anhängen
     --append-verify         wie --append, aber mit alter Datei im Prüfsummenvergleich
 -d, --dirs                  Verzeichnisse übertragen ohne Rekursion
 -l, --links                 Symlinks als Symlinks kopieren
 -L, --copy-links            Symlink in referenzierte Datei/Verzeichnis umwandeln
     --copy-unsafe-links     nur „unsichere“ Symlinks werden umgewandelt
     --safe-links            Symlinks ignorieren, die außerhalb des Quellbaums zeigen
 -k, --copy-dirlinks         Symlink zu Verzeichnis in referenziertes Verzeichnis umwandeln
 -K, --keep-dirlinks         Symlink-Verzeichnis auf Empfänger als Verzeichnis behandeln
 -H, --hard-links            Hardlinks erhalten
 -p, --perms                 Berechtigungen erhalten
 -E, --executability         Ausführbarkeit der Datei erhalten
     --chmod=CHMOD           Datei- und/oder Verzeichnisberechtigungen beeinflussen
 -A, --acls                  ACLs erhalten (impliziert --perms)
 -X, --xattrs                Erweiterte Attribute erhalten
 -o, --owner                 Besitzer erhalten (nur Superuser)
 -g, --group                 Gruppe erhalten
     --devices               Geräte-Dateien erhalten (nur Superuser)
     --specials              Spezialdateien erhalten
 -D                          entspricht --devices --specials
 -t, --times                 Änderungszeiten erhalten
 -O, --omit-dir-times        Verzeichnisse von --times ausschließen
     --super                 Empfänger versucht Superuser-Aktivitäten
     --fake-super            Privilegierte Attribute mit xattrs speichern/wiederherstellen
 -S, --sparse                Sparse-Dateien effizient behandeln
 -n, --dry-run               Probelauf ohne Änderungen
 -W, --whole-file            Dateien komplett kopieren (ohne Delta-Xfer-Algorithmus)
 -x, --one-file-system       keine Dateisystemgrenzen überschreiten
 -B, --block-size=SIZE       feste Prüfsummen-Blockgröße erzwingen
 -e, --rsh=COMMAND           Remote-Shell angeben
     --rsync-path=PROGRAM    rsync auf dem Remote-Rechner angeben
     --existing              keine neuen Dateien auf Empfänger erstellen
     --ignore-existing       keine Dateien aktualisieren, die bereits existieren
     --remove-source-files   Sender entfernt synchronisierte Dateien (keine Verzeichnisse)
     --del                   Alias für --delete-during
     --delete                überflüssige Dateien aus Zielverzeichnissen löschen
     --delete-before         Empfänger löscht vor Übertragung, nicht währenddessen
     --delete-during         Empfänger löscht während der Übertragung (Standard)
     --delete-delay          Löschungen während finden, nachher löschen
     --delete-after          Empfänger löscht nach Übertragung, nicht währenddessen
     --delete-excluded       auch ausgeschlossene Dateien aus Zielverzeichnissen löschen
     --ignore-errors         auch bei I/O-Fehlern löschen
     --force                 Löschen von Verzeichnissen erzwingen, auch wenn nicht leer
     --max-delete=NUM        nicht mehr als NUM Dateien löschen
     --max-size=SIZE         keine Datei größer als SIZE übertragen
     --min-size=SIZE         keine Datei kleiner als SIZE übertragen
     --partial               teilweise übertragene Dateien behalten
     --partial-dir=DIR       teilweise übertragene Datei in DIR ablegen
     --delay-updates         alle aktualisierten Dateien am Ende der Übertragung ablegen
 -m, --prune-empty-dirs      leere Verzeichnisketten aus Dateiliste entfernen
     --numeric-ids           keine Zuordnung von uid/gid nach Benutzer/Gruppenname
     --timeout=SECONDS       I/O-Timeout in Sekunden setzen
     --contimeout=SECONDS    Daemon-Verbindungs-Timeout in Sekunden setzen
 -I, --ignore-times          Dateien nicht überspringen, die in Größe und Mod-Zeit passen
     --size-only             Dateien überspringen, die in Größe passen
     --modify-window=NUM     Mod-Zeiten mit reduzierter Genauigkeit vergleichen
 -T, --temp-dir=DIR          temporäre Dateien in Verzeichnis DIR erstellen
 -y, --fuzzy                 ähnliche Datei als Basis suchen, falls keine Zieldatei
     --compare-dest=DIR      Ziel-Dateien relativ zu DIR vergleichen
     --copy-dest=DIR         ... und Kopien unveränderter Dateien einfügen
     --link-dest=DIR         Hardlink zu Dateien in DIR, wenn unverändert
 -z, --compress              Dateidaten während Übertragung komprimieren
     --compress-level=NUM    Komprimierungslevel explizit setzen
     --skip-compress=LIST    Komprimierung für Dateien mit Suffix in LIST überspringen
 -C, --cvs-exclude           Dateien automatisch ignorieren wie CVS
 -f, --filter=RULE           Datei-Filterregel hinzufügen
 -F                          entspricht --filter='dir-merge /.rsync-filter'
                             wiederholt: --filter='- .rsync-filter'
     --exclude=PATTERN       Dateien ausschließen, die auf PATTERN passen
     --exclude-from=FILE     Ausschlussmuster aus FILE lesen
     --include=PATTERN       Dateien nicht ausschließen, die auf PATTERN passen
     --include-from=FILE     Einschlussmuster aus FILE lesen
     --files-from=FILE       Liste der Quell-Dateinamen aus FILE lesen
 -0, --from0                 alle *-from/filter-Dateien durch 0 getrennt
 -s, --protect-args          keine Leerzeichen-Trennung; nur Wildcards als Sonderzeichen
     --address=ADDRESS       Bindungsadresse für ausgehenden Socket zum Daemon
     --port=PORT             Doppelpunkt-Alternativportnummer angeben
     --sockopts=OPTIONS      benutzerdefinierte TCP-Optionen angeben
     --blocking-io           blockierendes I/O für Remote-Shell verwenden
     --stats                 Dateiübertragungsstatistiken anzeigen
 -8, --8-bit-output          High-Bit-Zeichen in Ausgabe nicht maskieren
 -h, --human-readable        Zahlen in menschenlesbarem Format ausgeben
     --progress              Fortschritt während Übertragung anzeigen
 -P                          entspricht --partial --progress
 -i, --itemize-changes       Änderungsübersicht für alle Updates ausgeben
     --out-format=FORMAT     Updates im angegebenen FORMAT ausgeben
     --log-file=FILE         Aktionen in angegebener Datei protokollieren
     --log-file-format=FMT   Updates im angegebenen FMT protokollieren
     --password-file=FILE    Daemon-Zugriffspasswort aus FILE lesen
     --list-only             Dateien auflisten statt kopieren
     --bwlimit=KBPS          I/O-Bandbreite begrenzen; KBytes pro Sekunde
     --write-batch=FILE      Batch-Update in FILE schreiben
     --only-write-batch=FILE wie --write-batch, aber ohne Ziel zu aktualisieren
     --read-batch=FILE       Batch-Update aus FILE lesen
     --protocol=NUM          ältere Protokollversion erzwingen
     --iconv=CONVERT_SPEC    Zeichensatzkonvertierung für Dateinamen anfordern
     --qnap-mode=mode        0:Normal, 1:QRAID1, 2:USB copy 3:HD copy USB
     --check-dest                 Prüfen, ob Zielpfad gültig ist
     --password=WORD         Passwort für QNAP-Modus
     --sever-mode=mode       0:Normal, 1:QNAP im Daemon-Modus
     --schedule=name         Zeitplanname angeben
 -4, --ipv4                  bevorzugt IPv4
 -6, --ipv6                  bevorzugt IPv6
     --version               Versionsnummer ausgeben
(-h) --help                  Hilfe anzeigen (-h funktioniert ohne weitere Optionen)

Verwende „rsync --daemon --help“, um die Befehlszeilenoptionen im Daemon-Modus zu sehen.
Siehe die Handbuchseiten rsync(1) und rsyncd.conf(5) für vollständige Dokumentation.
Siehe http://rsync.samba.org/ für Updates, Fehlerberichte und Antworten
1 „Gefällt mir“

Danke für die schnellen Antworten.
Tatsächlich zeigte mir rsync -version die Version 3.0.7 … aus dem Jahr 2009!
Ich bin ziemlich überrascht, dass wir von Qnap keine aktuellere Version haben :-/

Es fehlen tatsächlich Funktionen im Vergleich zur neuesten Version 3.4.1 aus dem Jahr 2025.

Viele Grüße…

Nun, wir haben die gleiche Version.
Und sie hat --archive, was brauchst du sonst noch, um deine Daten auf einmal zu übertragen?

Ich hatte gehofft, einen globalen Fortschrittsindikator zu haben (um das Licht am Ende des Tunnels zu sehen) und die Übertragungsgeschwindigkeit anzuzeigen (um sie mit anderen von mir getesteten Übertragungstechniken zu vergleichen).

Aber ansonsten funktioniert es einfach, kein Problem.

Ahhh, ja… wir haben kein --info=.

Hast du auf deinem neueren NAS pv? Ich habe es.

rsync -ahiPv --stats /path/to/source/ /path/to/destination/ | pv -lep

Es ist immerhin etwas, irgendwie.

Scheint, wir haben kein pv… :-/

Haben Sie in Erwägung gezogen, einen Ubuntu-Server einzurichten, um Ihre Anforderungen zu erfüllen? Das könnte eine Lösung sein.
Danke!

Meinst du, einen separaten Server?

Übrigens, kannst du uns sagen, warum solche grundlegenden Tools auf QNAP NAS nicht verfügbar oder nicht aktuell sind?

Ich bezog mich auf Ubuntu Linux Station. Weitere Details findest du hier: How to Use Ubuntu Linux Station | QNAP

Ich werde mich bezüglich des von dir erwähnten Problems separat mit dem Team abstimmen!

1 „Gefällt mir“

Hallo @frederic
Nach Rücksprache mit unseren Ingenieuren stellt das HBS-System eine weitere ausführbare Datei unter /usr/bin/rsync.hbs bereit.

Bitte verwenden Sie diese, da sie die Version ist, die HBS für externe rsync-Dienste bereitstellt. Das aktuell von Ihnen verwendete /usr/bin/rsync ist nicht für externe Dienste vorgesehen und existiert nur aus Gründen der Abwärtskompatibilität.

1 „Gefällt mir“

Vielen Dank für das Feedback!