Newsgroup: it.comp.os.linux.iniziare
Titolo: rsync non attraversa il symlink di destinazione su server remoto

client$ tree
  local
 
server$ tree
  remote -> remote2/
  remote2
 
client$ rsync -av local server:/remote2/
sending incremental file list
...
 
Tutto ok!!!
Adesso però ad sfruttare il symlink
 
client$ rsync -av local server:/remote/
sending incremental file list
ERROR: illegal path
rsync error: errors selecting input/output files, dirs (code 3) at 
main.c(1138) [Receiver=3.0.9]
rsync: connection unexpectedly closed (125 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) 
[sender=3.1.3]
 
Perchè non funziona?


A me funziona...
 
Sia con r1 -> r2 che con r1 -> r2/
(nota la differenza sullo slash finale).
 
Potrebbe essere che nel nome (del link)
vi siano caratteri strani.
 
bye,
 
-- 
 
piergiorgio

Il 31/03/20 11:46, Piergiorgio Sartor ha scritto:

Non mi pare.
Forse sarà questione di permessi.

 Forse sarà questione di permessi.
 
Ah, forse, controlla bene.
 
bye,
 
-- 
 
piergiorgio

 Ah, forse, controlla bene.
 
nas:/volume1/public$ tree
  current -> ./
  file84003
  up -> ../
 
client$ touch file84003;rsync -av file84003 nas:/volume1/public/current
sending incremental file list
file84003
 
client$ touch file84003;rsync -av file84003 nas:/volume1/public/up
sending incremental file list
ERROR: illegal path
rsync error: errors selecting input/output files, dirs (code 3) at 
main.c(1138) [Receiver=3.0.9]
rsync: connection unexpectedly closed (125 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) 
[sender=3.1.3]
 
Come vedi:
  - nas:/volume1/public/current FUNZIONA
  - nas:/volume1/public/up NON FUNZIONA
 
Perchè?

 Perchè?
 
Boh, ma forse sono davvero i permessi.
Che permessi ha ".."?
 
D'altro canto, usare ".." per cose del
genere e` alquanto discutibile, forse
c'e` qualche altro meccanismo di protezione.
 
bye,
 
-- 
 
piergiorgio

 c'e` qualche altro meccanismo di protezione.
 
È probabile.

 È probabile.
 
Se invece di usare "." e ".." usi folder
normali funziona?
 
bye,
 
-- 
 
piergiorgio

 normali funziona?
 
admin@nas:/volume1/public/test321$ ls -l
total 4
drwxrwxrwx 3 guest users 4096 Apr  1 17:23 sub
lrwxrwxrwx 1 admin users    3 Apr  1 17:14 up -> ../
lrwxrwxrwx 1 admin users    6 Apr  1 17:14 up2 -> ../../
 
admin@nas:/volume1/public/test321$ ls -ld ..
drwxrwxrwx 4 root root 20480 Apr  1 16:40 ..
 
admin@nas:/volume1/public/test321$ ls -ld ../..
drwxr-xr-x 33 root root 4096 Apr  1 07:14 ../..
 
admin@nas:/volume1/public/test321$ ls -ld ../../repositories/
drwxrwxrwx+ 13 root developers 4096 Mar 30 14:41 ../../repositories/
 
admin@nas:/volume1/public/test321$ ls -ld ../../repositories/dev/
drwxrwxr-x 24 admin developers 4096 Apr  1 17:35 ../../repositories/dev/
 
client$ touch file; rsync -nav file nas:/volume1/public/test321/up/
sending incremental file list
file
 
*--- ADESSO ATTENZIONE ---*
 
client$ touch file; rsync -nav file nas:/volume1/public/test321/up2/
sending incremental file list
ERROR: illegal path
rsync error: errors selecting input/output files, dirs (code 3) at 
main.c(1138) [Receiver=3.0.9]
rsync: connection unexpectedly closed (125 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) 
[sender=3.1.3]
 
client$ touch file; rsync -nav file 
nas:/volume1/public/test321/up2/repository/
sending incremental file list
ERROR: illegal path
rsync error: errors selecting input/output files, dirs (code 3) at 
main.c(1138) [Receiver=3.0.9]
rsync: connection unexpectedly closed (125 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) 
[sender=3.1.3]
 
client$ touch file; rsync -nav file 
nas:/volume1/public/test321/up2/repository/dev/


 
 
 
Giusto per controprova (senza passare dal symlink)
 
client$ touch file; rsync -nav file nas:/volume1/repositories/dev/
sending incremental file list
file
 
E questo funziona!!!
La questione è un po' intricata :)

 La questione è un po' intricata :)
 
Non ho nessuna idea al riguardo...
 
Com'e` la connessione col server?
Passa via ssh?
 
Perche` anche questo potrebbe
giocare un ruolo.
 
bye,
 
-- 
 
piergiorgio

 Passa via ssh?
 
si


 si
 
L'errore potrebbe essere causato da ssh.
 
Prova a fare gli stessi esperimenti in
locale, cioe` da directory a directory
dello stesso PC.
 
Se i risultati sono diversi, allora,
forse, potrebbe essere che sia proprio
"ssh" la causa.
 
bye,
 
-- 
 
piergiorgio

 "ssh" la causa.
 
Su pc funziona
 
tmp.KUz0p4voVN$ pwd
/tmp/tmp.KUz0p4voVN
 
tmp.KUz0p4voVN$ tree
.
├── etc -> ../../etc/
└── file
 
tmp.KUz0p4voVN$ rsync -nav file etc
sending incremental file list
file
 
sent 62 bytes  received 19 bytes  162.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)