Как я могу заставить команду scp перезаписать папку назначения

Я использую команду scp, чтобы скопировать некоторые файлы на удаленный компьютер, как вы делаете с scp:)

замечу, что по умолчанию поведение УПП копирования является перезапись существующих файлов. Теперь я хочу скопировать папку, поэтому я делаю в основном то же самое:

scp -r <source_path> user@myOtherPc:<dest_path>

, где в мои пути к папкам. Однако, когда я запускаю это, я получаю сообщение "файл существует". Есть ли способ обойти это? какая-то сила переписывает?

спасибо,
Корм

22
задан code_fodder
23.05.2023 18:38 Количество просмотров материала 3201
Распечатать страницу

3 ответа

Как было сказано ранее, scp с радостью перезаписывает любой файл, который уже присутствует.

проблема "файл существует" может возникнуть только тогда, когда у вас есть какой-то другой процесс (например, параллельный процесс scp или что-то еще) записи папок и файлов в том же месте назначения. Рассмотрите возможность использования rsync.

19
отвечен nicolasochem 2023-05-25 02:26

Как и Леванс, я не смог воспроизвести это, но вы рассматривали возможность использования rsync через ssh? Если вы копируете большое количество файлов, rsync может быть лучшим вариантом, чем scp. Есть целый ряд хороших руководств к нему в интернете, такие как:

http://troy.jdmz.net/rsync/index.html https://calomel.org/rsync_tips.html

эта первая ссылка имеет дело с автоматическими резервными копиями через cron, поэтому некоторые инструкции (например, создание ключ ssh без парольной фразы) может не иметь отношения к вам.

4
отвечен Ben 2023-05-25 04:43

вы получите это сообщение об ошибке, если каталог назначения уже содержит файл с тем же именем, что и исходный каталог, который вы пытаетесь передать. Вы не можете иметь файл с тем же именем, что и каталог в том же каталоге.

3
отвечен EvR2f 2023-05-25 07:00

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх