Ich benutze OSX High Sierra und bash. Ich versuche, ein Sicherungsskript zu verwenden, das auf IPv6 LLA basiert (damit ich immer den Server erreiche, ohne DHCP, Namen usw.).
Mit IPv4 funktioniert Folgendes:
rsync -e ssh /src/dir/* [email protected]:/dst/dir
Unter Linux / Bash funktioniert das:
rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir
Aber auf dem OSX-Terminal funktionierte das nicht.
ssh: Could not resolve hostname [fe80: nodename nor servname provided, or not known
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/io.c(453) [sender=2.6.9]
Ich habe viele Anführungszeichenkombinationen ausprobiert, aber ohne Erfolg.
Vielen Dank!
rsync --version
auf jeder Maschine sagen?Antworten:
Das Problem war mit der OSX-Version von rsync. Ich weiß nicht genau, wo das Problem liegt. Es sollte einige Funktionen von rsync binary / version geben.
OSX-Version:
Installieren einer Version von Macports:
Obwohl beide über die IPv6-Unterstützung verfügen, funktioniert diese mit OSX gelieferte Version 2.6.9 nicht wie erwartet.
Mit 3.1.2 kann ich verwenden:
Danke fürs Helfen.
quelle
[ ]
ist ein Platzhalter für Shell-Zeichenübereinstimmung; es ist unwahrscheinlich, dass irgendetwas gefunden wird.rsync -e ssh /src/dir/* "user@[fe80::a:b:c:d%en0]:/dst/dir"
).