У меня Mac и PC в одной локальной сети. PC работает под управлением OpenSSH.
Я скопировал папку (содержащую подпапки) с 30 ГБ файлов с Mac на ПК с помощью:
scp -r ~/orig_folder/* [email protected]:another_folder/
Я не решаюсь удалить 30 ГБ файлов с Mac, пока не сделаю своего рода «diff» (сравнение), чтобы доказать, что все файлы успешно скопированы на ПК.
Я слышал об этом, rsync
но думаю, что это не работает с Mac на Windows, верно? (Я перепробовал много разных rsync
команд SSH.)
Если также попробовать более простые подходы, простоподсчет количества файлов, но были несоответствия; я думаю, что иногда некоторые файлы не отображаются в обеих операционных системах. Размеры файлов, по-видимому, тоже различаются.
Как мне достичь своей цели?
решение1
Думайте о нем rsync
как о протоколе для того, какие файлы копировать, чтобы он не зависел от ОС. Некоторые вещи, такие как сохранение временных меток, разрешений пользователя/группы и т. д., будут зависеть от ОС.
Использование rsync на Mac для копирования папок
Использование rsync через SSH (см. №3)
Еще один совет — избегайте пробелов и других специальных символов в удаленном каталоге и начните с того, чтобы ваш рабочий каталог был источником файлов, резервную копию которых вы хотите создать, чтобы вы могли ссылаться на него ./
и не беспокоиться о специальных символах и т. п. в пути на локальной машине.
Лично я бы закрыл этот вопрос и переспросил, если у вас все еще есть проблемы с использованием rsync
, включил бы вашу rsync
команду и т. д.
решение2
я нашелBeyond Compare 4 Pro (на Windows 10)сделать это легко.
На Mac я включил Remote Login. Затем я использовал BC4Pro для сравнения папок:
- K:\orig_folder\part1\
- sftp://[email protected]/часть1/
Выяснилось, что при первоначальном переносе SCP, по-видимому, была пропущена подпапка, имя которой на Mac начиналось со звездочки: «*Preliminaries».
Кроме того, на Mac существовало много файлов с именами «.DS_Store» и «Icon», которые никогда не копировались на ПК, но я думаю, что это все файлы, специфичные для ОС, которые не имеют значения.
Старая попытка:
Из терминала Mac, возможно, ключ в том, чтобы запустить его следующим образом, без звездочек:
rsync -aichzvn --rsync-path="C:\HashiCorp\Vagrant\embedded\usr\bin\rsync.exe" orig_folder/ [email protected]:part1sub/
(Видетьhttps://serverfault.com/a/852335/119666)
...а затем запустите его в обратном направлении (все еще в терминале Mac, но с измененным порядком расположения папок компьютера, так что удаленный ПК будет указан перед локальной папкой Mac).
Но мне не удалось это сделать.