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.