Я хочу rsync файлы с компьютера A на отдельную машину B. В настоящее время не должно быть никаких удаленных файлов на источнике, машине A. Измененные файлы будут скопированы в отдельную папку и перемещены в автономную систему, машину B через DVD или жесткий диск в зависимости от размера данных. Затем измененные файлы будут rsynced в том же месте в автономной системе.
1 ответ
Я понимаю, что вы не можете напрямую получить доступ к B, так что вы будете использовать внешний диск или DVD для косвенной rsync B из A.
Я думаю, что вы не должны использовать ROM, как DVD, но внешний привод.
Итак, у вас есть 3 системы: A, B и HDD (назовем это так)
Предположим, что вы монтируете HDD в /mnt /HDD как в A, так и в B. И файлы пересылаются в корень жесткого диска. Исходный каталог в A - это /source, а целевой каталог в B - /dest.
Сначала вы устанавливаете HDD на A и rsync A на HDD:
rsync -avH --delete-after /source/ /mnt/HDD/
После этого вы отключаете жесткий диск от A и монтируете на B. И rsync там:
rsync -avH --delete-after /mnt/HDD/ /dest/
Обратите внимание, что --delete-after предназначен для удаления файлов из места назначения, если они были удалены из источника, а не для удаления rsyned файлов из источника.
Для аргументов: a создает полную резервную копию, v для подробного и H для жестких ссылок (чтобы файлы с жесткими ссылками не занимали несколько мест на диске)
Вы также можете добавить аргумент --checksum, если хотите проверить целостность файлов при rsyncing (даже если размер и время подписи могут быть одинаковыми, файлы могут быть повреждены).
Если вы просто хотите скопировать измененные файлы на жесткий диск, это не будет хорошей идеей для rsyncing. Как тогда вы можете обращаться с файлами, удаленными из A? И как вы можете отслеживать измененные файлы (вы должны сравнить два дерева для этого на каждом шаге).