Perché rsync non crea un collegamento reale nel mio set di backup?


2

Sto cercando di impostare un backup rsync dal mio PC Windows sul mio raspi. Sul raspi ho una chiavetta USB formattata NTFS. Quando sincronizzo i file con la destinazione, tutto funziona bene, tranne che rsync non creerà alcun hardlink. Il mio rsync si presenta così:

rsync -avvvvhP --modify-window=5 --delete --link-dest=/mnt/usbstick1/1/ -e 'ssh -p 22' /cygdrive/d/priv/file1.png root@192.168.1.125:/mnt/usbstick1/2/

Il file di test file1.png è già stato sincronizzato con la cartella 1.

Controllo l'inode sul filesystem usando ll -i.

Ho anche provato ad accedere al sistema remoto ed ho eseguito una sincronizzazione locale: funziona come previsto. Solo quando provo questo da remoto da Windows fallisce sempre. Ho provato a modificare-window, -c (checksum), -H, indipendentemente da cosa non riesco a far funzionare questa funzione da Windows.
Su Windows utilizzo GnuWin32 e CWRsync5.5.0

rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
 64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, no xattrs, iconv, symtimes, prealloc).

Qualche idea su quale potrebbe essere il problema?

Stefan


Hai provato a testare il comando localmente su un semplice filesystem ext4? Non sono sicuro dello stato del driver ntfs di Linux con hardlink. Inoltre so che rsync è molto esigente riguardo alle barre di trascinamento in generale ed è facile sbagliare con l'argomento --link-dest. Testare la sincronizzazione tra due ext3 / Almeno 4 filesystem eliminerebbero quelle variabili.
Kurt Stutsman

Ho già provato questo, una sincronizzazione locale sul file system NTFS funziona come previsto! Ho anche provato diverse combinazioni di barre finali inutili.
Stefan371,

Risposte:


2

È necessario utilizzare l' -Hopzione: dal manuale :

-H, --hard-links preserva i collegamenti reali

Questa opzione non è inclusa in -a:

-un

Ciò equivale a -rlptgoD. È un modo rapido per dire che vuoi la ricorsione e vuoi preservare quasi tutto (con -H che è una notevole omissione).


Ho provato -H ma non funziona. Secondo varie fonti -H tenterà di preservare i collegamenti reali esistenti nei dati di origine, non di creare collegamenti reali sulla destinazione se il file esiste già. Questo è ciò che --link-dest dovrebbe fare secondo me.
Stefan371,
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.