Почему rsync не создает жесткую ссылку в моем наборе резервных копий?


1

Я пытаюсь настроить rsync Backup с моего компьютера с Windows на мой raspi. На распи у меня есть отформатированная в NTFS флешка. Когда я синхронизирую файлы с целью, все работает нормально, за исключением того, что rsync не создает никаких жестких ссылок. Мой rsync выглядит так:

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/

Тестовый файл file1.png уже синхронизирован с папкой 1.

Я проверяю inode в файловой системе, используя ll -i.

Я также попытался войти в удаленную систему и выполнил локальную синхронизацию: это работает, как и ожидалось. Только когда я пытаюсь сделать это с пульта из Windows, это всегда дает сбой. Я пытался изменить-окно, -c (контрольная сумма), -H независимо от того, что я просто не могу заставить эту функцию работать из окон.
На окнах я использую GnuWin32 и 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).

Есть идеи, в чем может быть проблема?

Стефан


Вы пробовали локально протестировать команду на простой файловой системе ext4? Я не уверен в состоянии драйвера ntfs для Linux с жесткими ссылками. Также я знаю, что rsync действительно требователен к прерываниям в целом, и его легко испортить с помощью аргумента --link-dest. Тестирование синхронизации между двумя ext3 / 4 файловые системы устранят эти переменные как минимум.
Kurt Stutsman

Я уже пробовал это, локальная синхронизация в файловой системе NTFS работает как ожидалось! Я также пробовал разные комбинации конечных слешей, но безрезультатно.
Stefan371

Ответы:


2

Вам нужно использовать -H вариант: от руководство :

-H, --hard-links сохраняют жесткие ссылки

Эта опция не включен в -a:

-a

Это эквивалентно -rlptgoD. Это быстрый способ сказать, что вы хотите рекурсию и хотите сохранить почти все (при этом -H - заметное упущение).


Я пытался -H, но это не работает. Согласно разным источникам -H будет пытаться сохранить жесткие ссылки, существующие в исходных данных, а не создавать жесткие ссылки в месте назначения, если файл уже существует. Это то, что --link-dest должно делать на мой взгляд.
Stefan371
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.