rsync «пропускает нестандартный файл» при клонировании моей библиотеки Aperture


38

Я пытаюсь использовать rsync для сохранения резервной копии моей библиотеки Aperture. Когда я запускаю команду синхронизации, чтобы увидеть, что произойдет, это результат:

rsync --dry-run -r "/Volumes/Data/Aperture Library.aplibrary" "/Volumes/Backup"

skipping non-regular file "Aperture Library.aplibrary/Database/BigBlobs.apdb"
skipping non-regular file "Aperture Library.aplibrary/Database/Faces.db"
skipping non-regular file "Aperture Library.aplibrary/Database/History.apdb"
skipping non-regular file "Aperture Library.aplibrary/Database/ImageProxies.apdb"
skipping non-regular file "Aperture Library.aplibrary/Database/Library.apdb"
skipping non-regular file "Aperture Library.aplibrary/Database/Properties.apdb"

Команда "file" говорит, что по крайней мере файл ".db" является "базой данных SQLite 3.x". Как я могу синхронизировать эти файлы с rsync?

Ответы:


48

Казалось бы, эти файлы являются символическими ссылками.

Чтобы скопировать их как символические ссылки, используйте --links.

Чтобы скопировать файлы, на которые они указывают, используйте --copy-links.

Подробности смотрите в SYMBOLIC LINKSразделе man rsync.


37

Используйте -aвместо -r. -aозначает воспроизводить файловые иерархии, включая специальные файлы и разрешения. -rтолько значит зарезервировать по каталогам. Для резервного копирования, вы хотите -a.


1
Я бы сказал, что это практическое решение, хотя разъяснение --links полезно. Я использую rsync -hiva --log-file=log.txt source destбольшую часть времени .. мне нравится хива ~ зима как мнемоника
ptim
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.