sftp: загрузка всех файлов, каталогов и подкаталогов, содержащихся в папке

на машине а у меня папка

/home/a/

на машине B у меня папка

/home/b/

Я хочу передать все файлы, каталоги и подкаталоги /home / a в /home / b с sftp
На машине а я попробовал команды:

sftp fibon82@machineB.com
put /home/a/* /home/b/

но это не работает, я получаю сообщение об ошибке: "пропуск нестандартного файла / home/a / a1"... [a1 является подкаталогом a]


Как я могу изменить инструкцию put?

спасибо! 🙂

изменить:

Я решил с помощью scp:

scp -r /home/a/ fibon82@machineB.com:/home/b/
23
задан fibon82
14.11.2022 10:49 Количество просмотров материала 3523
Распечатать страницу

6 ответов

хотя строго не эквивалентно sftp,rsync является очень мощной альтернативой для scp и sftp, особенно при обновлении копий с машины A на машину B, так как он не копирует файлы, которые не были изменены; он также может удалять файлы с машины B, которые были удалены с машины A (только когда это сказано, конечно).

в вашем случае, синтаксис будет

rsync -zrp /home/a/ user@remote.host.com:/home/b/

на -r опция для рекурсивного копирования файлов, -z сжатие во время передачи, а -p сохраняет разрешения файл (создание файла, правка и т. д.) при копировании, что scp не делает AFAIK. Многие другие варианты возможны; как обычно, читайте man страницы.

20
отвечен Karolos 2022-11-15 18:37

In sftp эта команда рекурсивно загружает содержимое текущего каталога в удаленный текущий каталог:

 put -r .

See man sftp.

13
отвечен Carlos Da Costa 2022-11-15 20:54

scp (secure copy) - Linux де-факто для передачи файлов по защищенному туннелю. В вашем случае вы хотите использовать рекурсивный ключ, например:

scp -r /home/a/ user@remote.host.com:/home/b/
9
отвечен deed02392 2022-11-15 23:11

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

put -r /home/a/ /home/b/

для получения дополнительной информации: этой

3
отвечен guest_who 2022-11-16 01:28

на самом деле, put-r должен работать. Но папка destintion должна присутствовать на удаленном хосте:

sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder
 Couldn't canonicalize: No such file or directory
 ....
sftp> mkdir sourcefolder
sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder/sourcefolder
 Entering sourcefolder/
 sourcefolder/file1
 sourcefolder/file2
0
отвечен Dieter 2022-11-16 03:45

в моем случае rsync было невозможно, поэтому я использовал:

mput -rp /home/a/ /home/b/
-1
отвечен jayarjo 2022-11-16 06:02

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

Ваш ответ

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

Имя
Вверх