rsync: как выполнить безопасную двухстороннюю синхронизацию с локальным <-> удаленным webdav?
561
user2734
У меня есть два каталога:
/Volumes/webdav/
- смонтированный удаленный диск WebDAV~/files
- локальная копия
Я хотел бы выполнить двухстороннюю синхронизацию (ручную) между ними. Что я делаю:
$ rsync --exclude='.gitconfig' --exclude='*~' --exclude='.DS_Store' -varP ~/files/* /Volumes/webdav/ --delete
И наоборот (/ Volumes / webdav / * ~ / files /).
Вопросы
Какая разница между
~/files/ /Volumes/webdav/
а~/files/* /Volumes/webdav/
? В первом случае я получаю:building file list ... 4498 files to consider
во втором:
building file list ... 1382 files to consider ...
Синхронизация журналов часто показывает что-то вроде:
building file list ... 4498 files to consider .es/ .es/�\#232а�\#200�\#202а Саи�\#206�\#202а.doc 20480 100% 0.00kB/s 0:00:00 (xfer#1, to-check=4486/4498) .hb/ .hb/25-512.png 39036 100% 5.98MB/s 0:00:00 (xfer#2, to-check=4482/4498) .hb/icon-white-menu.png 1546 100% 1.47MB/s 0:00:00 (xfer#3, to-check=4481/4498) .hb/icon-white.png 26858 100% 0.00kB/s 0:00:00 (xfer#4, to-check=4480/4498) .pt/Untitled/ .pt/session0/ .pt/speed1/ .pt/speed1/Session File Backups/ .var/ .var/DSC_6545.jpg 4595455 100% 92.58MB/s 0:00:00 (xfer#7, to-check=4198/4498) .var/book_edit.pdf ...
Итак, rsync показывает некоторый прогресс в передаче файлов, но если я снова запускаю команду, он показывает то же самое - передает те же файлы, проходит по тем же папкам и т. Д. Действительно ли он что-то передает? Если да, то почему каждый раз?
Благодарю.
Вы не показываете строку полного запуска. Вы используете `-u`? Является ли разрешение по времени файла на томе назначения, что и у источника? Вы используете `--modify-window`?
AFH 7 лет назад
0
Разница между `~ / files /` и `~ / files / *` в том, что вторая не будет включать `~ / files /.*`: `rsync` рекурсия включает в себя все файлы в подкаталоге, включая dot-файлы, но использование `~ / files / *` исключает точечные файлы в рекурсии ~ ~ files / `_before_; точечные файлы из последующих уровней рекурсии _ будут включены.
AFH 7 лет назад
0
@AFH спасибо! Я показал полную строку в исходном сообщении: `rsync --exclude = '. Gitconfig' --exclude = '* ~' --exclude = '. DS_Store' -varP ~ / files / * / Volumes / webdav / - -delete` О разрешении времени файла: мне сложно сказать, потому что это сторонний сервер WebDAV. На моей стороне я использую macOS. Кроме того, я попробовал файловый синхронизатор Unison, и он также не работает с `Содержимое файла было изменено во время передачи`, что может указывать на некоторые проблемы с метками времени, я думаю.
user2734 7 лет назад
0
Я обычно использую `ls --full-time` для сравнения времени, но мне кажется, что опция не существует в OSX. Другая программа, которая показывает время с разрешением пикосекунды, это `stat`, который вы можете попробовать на любом любом из файлов и его резервной копии. Это скажет вам, если метки времени идентичны, или, если нет, сколько секунд использовать с --modify-window`: 1 или 2 должно быть достаточно.
AFH 7 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
3
Ускорение загрузки OS X на годичной MBP
-
16
Как синхронизировать библиотеки iTunes?
-
3
Как повторно связать резервную копию Airport Time Machine после перехода на новый Mac?
-
-
6
Как вы отключите звук запуска на Mac?
-
5
Почему мой Macbook сильно нагревается при использовании Boot Camp?
-
7
Есть ли в Mac OS X эквивалент Ctrl + Tab?
-
6
Способ переноса данных Time Machine на новый диск
-
13
Сброс положения Mac OS X Windows после отсоединения внешнего монитора
-
12
Как я могу синхронизировать папки между несколькими компьютерами в моей домашней сети?
-
10
Программное обеспечение для резервного копирования для Mac OS X