Come usare rsync tramite ssh con indirizzi IPLA LLA (link local address) su OSX?


5

Sto usando OSX High Sierra e bash. Sto cercando di utilizzare uno script di backup basato su IPv6 LLA (quindi raggiungo sempre il server, senza DHCP, nomi ecc.).

Con IPv4 funziona:

rsync -e ssh /src/dir/* user@192.168.0.1:/dst/dir

Su Linux / Bash funziona:

rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir

Ma sul terminale OSX questo non ha funzionato.

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]

Ho provato molte combinazioni di citazioni ma senza successo.

Grazie!


1
Ssh funziona da solo con IPv6?

1
Sì, usando ad esempio "ssh user @ fe80 :: a: b: c: d% en0". Quindi, ssh funziona bene.
Jorge,

Potrebbe essere pertinente quale versione stai utilizzando. Cosa rsync --versiondice su ogni macchina?
Kasperd,

Risposte:


8

Il problema era con la versione OSX di rsync. Non so esattamente qual è il problema. Dovrebbe essere alcune delle funzionalità di rsync binary / version.

Versione OSX:

/usr/bin/rsync --version
rsync  version 2.6.9  protocol version 29
...
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 64-bit system inums, 64-bit internal inums

Installazione di una versione da macports:

/opt/local/bin/rsync --version
rsync  version 3.1.2  protocol version 31
...
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags,
    HFS-compression

Sebbene entrambi abbiano il supporto IPv6, questo 2.6.9 distribuito con OSX non funziona come previsto.

Con 3.1.2 posso usare:

rsync -e ssh /src/dir/* user@[fe80::a:b:c:d%eth0]:/dst/dir

Grazie dell'aiuto.


Funziona bene per me con la versione integrata, quindi non sono convinto che sia stata la versione macPorts a risolverlo. Vedo due possibili problemi: su macOS, l'interfaccia sarà "en0", non "eth0". Inoltre, [ ]è un carattere jolly di corrispondenza caratteri shell; è improbabile che corrisponda a qualcosa, ma nel caso in cui dovresti inserire delle virgolette ( rsync -e ssh /src/dir/* "user@[fe80::a:b:c:d%en0]:/dst/dir").
Gordon Davisson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.