Я пытался использовать scp для этой задачи, но, к сожалению, не работает, может быть, у меня неправильное представление, если scp может это сделать. Кто-нибудь может принести мне немного света? Я читал о Rsync, но я не могу понять, может ли Rsync просто создавать каталоги без перезаписи, чем мне было нужно. Я имею в виду, что мне нужна команда для установки новых каталогов, синхронизирующихся с удаленным хостом, без перезаписи файлов и каталогов. извините мои английские собратья. С уважением Себастьян
1 ответ
Если я вас правильно понимаю, rsync - это то, что вам нужно. Допустим, у вас есть источник:
- Папка для родителей
- Подпапка А
- Файл А1
- Файл А2
- Файл А3
- Подпапка B
- Файл B1
- Файл B2
- Файл B3
- Подпапка А
и пункт назначения:
- Папка для родителей
- Папка А
- Файл А1
- Папка Б
- Файл B2
- Папка А
Если вы хотите скопировать только файлы, которые еще не существуют в месте назначения, флаг --ignore-существующие (rsync -av --ignore-существующие /source user @ host:/dest) будет копировать только файлы, которые еще не созданы в каталоге назначения. Это скопирует файлы A2 A3, B1 и B3 в соответствующее место на новом хосте. Однако, если вы хотите скопировать файлы А1 и В2, если они были обновлены, при отключении флага --ignore-существующие скопируйте все новые и обновленные файлы в место назначения, но не скопируете файлы, которые не были изменено (по умолчанию на основе размера и времени изменения). Есть много дополнительных опций, которые можно найти на справочной странице rsync.
Отметим, что флаги -av предназначены для --archive и --verbose. Режим архивирования обеспечивает рекурсию, сохраняет как можно больше метаданных файла (например, владельца, метки времени и т.д.) И копирует символические ссылки. Verbose просто включает уведомление о ходе выполнения и другую информацию о копировании, так как rsync по умолчанию молчит. Вы можете добавить дополнительные v для получения дополнительной информации (более двух предназначен для отладки программного обеспечения).