Я много чего делал. Просто запустил тест, несколько предложений.
- Укажите весь шаблон user @ host
- Сначала запустите ssh-соединение без rsync, может потребоваться сначала подтвердить ваш отпечаток пальца
- Похоже, вы не передаете флаг для защиты расширенных атрибутов, это может привести к повреждению файлов в OS X. Если вам не нужны вилки ресурсов, у вас все в порядке, но в большинстве случаев они вам нужны.
Мой тестовый пример:
$ rsync -Pav ~/Desktop/ me@remote.example.com:~/rsyc-test
В этом случае все файлы в ~ / Desktop были скопированы на удаленный хост, в моем домашнем каталоге. Поскольку каталог rsyc-test не существует, он был создан для меня. У меня на рабочем столе был .app, он прошел, на удивление, работает. Даже некоторые файлы .webloc сделали это и работают, хотя я не доверяю.
Я бы настоятельно рекомендовал добавить в флаг -E
-E, --extended-attributes
Apple specific option to copy extended attributes, resource
forks, and ACLs. Requires at least Mac OS X 10.4 or suitably
patched rsync.
Я провел новый тест, переместил закладку Interarchy на свой рабочий стол, я точно знаю, что это разрыв, если они скопированы без ресурсов. При работе без -E по сравнению с -E разница между данными в xfered составляет 152 байта. Первый файл на удаленной машине не работал, второй переданный файл работал.
Не могу не заметить, что в вашем примере один из ваших путей - это ~ / Dropbox, так что это все может не иметь значения, поскольку приложение DropBox вообще не поддерживает вилки ресурсов, хотя я слышал, что в будущее.
Вы также не отправляете флаг --delete, если ваша конечная цель является зеркалом ваших данных, вы не получаете этого, если ваша конечная цель - резервные копии, которые постоянно растут, сохраняя все, что когда-либо было в источнике , отсутствие --delete это хорошо.
Другие примечания:
Вы можете исключить эти глупые файлы .DS_Store
--exclude '.DS_Store'
Вы также можете настроить rsync таким образом, чтобы он был настоящим зеркалом, поэтому вам не нужно будет запускать другую команду, подробности см. На странице man.
Моя последняя рабочая команда для переноса рабочего стола моего ноутбука на удаленный компьютер:
$ rsync -PEav --delete --exclude '.DS_Store' ~/Desktop/ me@remote.example.com:~/rsycn-test