Как я могу заставить команду scp перезаписать папку назначения
Я использую команду scp, чтобы скопировать некоторые файлы на удаленный компьютер, как вы делаете с scp:)
замечу, что по умолчанию поведение УПП копирования является перезапись существующих файлов. Теперь я хочу скопировать папку, поэтому я делаю в основном то же самое:
scp -r <source_path> user@myOtherPc:<dest_path>
, где в мои пути к папкам. Однако, когда я запускаю это, я получаю сообщение "файл существует". Есть ли способ обойти это? какая-то сила переписывает?
спасибо,
Корм
3 ответов
Как было сказано ранее, scp с радостью перезаписывает любой файл, который уже присутствует.
проблема "файл существует" может возникнуть только тогда, когда у вас есть какой-то другой процесс (например, параллельный процесс scp или что-то еще) записи папок и файлов в том же месте назначения. Рассмотрите возможность использования rsync.
Как и Леванс, я не смог воспроизвести это, но вы рассматривали возможность использования rsync через ssh? Если вы копируете большое количество файлов, rsync может быть лучшим вариантом, чем scp. Есть целый ряд хороших руководств к нему в интернете, такие как:
http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html
эта первая ссылка имеет дело с автоматическими резервными копиями через cron, поэтому некоторые инструкции (например, создание ключ ssh без парольной фразы) может не иметь отношения к вам.