Używam OSX High Sierra i bash. Próbuję użyć skryptu zapasowego opartego na LLA IPv6 (więc zawsze docieram do serwera, bez DHCP, nazw itp.).
W przypadku IPv4 działa to:
rsync -e ssh /src/dir/* user@192.168.0.1:/dst/dir
W systemie Linux / Bash działa to:
rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir
Ale na terminalu OSX to nie działało.
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]
Próbowałem wielu kombinacji cytatów, ale bez powodzenia.
Dziękuję Ci!
rsync --version
powiesz na każdej maszynie?Odpowiedzi:
Problem dotyczył wersji rsync dla OSX. Nie wiem dokładnie, na czym polega problem. Powinno to być niektóre z możliwości rsync binary / version.
Wersja OSX:
Instalowanie wersji z Macports:
Chociaż oba mają obsługę IPv6, wersja 2.6.9 rozpowszechniana z OSX nie działa zgodnie z oczekiwaniami.
W wersji 3.1.2 mogę używać:
Dzięki za pomoc.
źródło
[ ]
jest znakiem wieloznacznym dopasowującym znaki powłoki; jest mało prawdopodobne, aby coś pasowało, ale na wszelki wypadek powinieneś umieścić wokół niego cudzysłowy (rsync -e ssh /src/dir/* "user@[fe80::a:b:c:d%en0]:/dst/dir"
).