Sftp: загрузить все файлы, каталоги и подкаталоги, содержащиеся в папке
На машине AI есть папка
/home/a/
На компьютере BI есть папка
/home/b/
Я хочу передать все файлы, каталоги и подкаталоги / home / a в / home / b с помощью sftp. На машине AI выполнил команды:
- Зеркало / Резервное копирование из SSH / SFTP в Windows
- FTPS против SFTP и SCP
- Механизм блокировки файлов SFTP
- Как получить файл с сервера через SFTP?
- Как получить полный каталог в sftp?
sftp [email protected] put /home/a/* /home/b/
Но он не работает, я получаю сообщение об ошибке: «пропуская нерегулярный файл / home / a / a1» … [a1 является подкаталогом]
Как я могу изменить инструкцию put?
Благодаря! 🙂
РЕДАКТИРОВАТЬ:
Я решил использовать scp:
scp -r /home/a/ [email protected]:/home/b/
- Сбой соединения openSSH с помощью одноранговой сети
- В чем разница между SCP и SFTP?
- Массовая загрузка изображений с организацией
- Различия между SFTP и «FTP через SSH»
- SFTP через двойной серверный хоп
- Сопоставление sFTP-соединения с приводом Windows?
- Вкладка «Автозаполнение» в Mac OS X при использовании sftp в терминале
- Запустите программу в пакетном скрипте и дождитесь ее завершения, прежде чем продолжить
Хотя это не является строго эквивалентным sftp, rsync является очень мощной альтернативой scp и sftp, особенно при обновлении копий с машины A на машину B, поскольку она не копирует файлы, которые не были изменены; Он также может удалять файлы с машины B, которые были удалены с машины A (только тогда, когда ей говорят, конечно).
В вашем случае синтаксис будет
rsync -zrp /home/a/ [email protected]:/home/b/
Параметр -r
предназначен для рекурсивного копирования файлов, -z
включает сжатие во время передачи, а -p
сохраняет права доступа к файлам (создание файла, редактирование и т. Д.) При копировании, что делает scp не AFAIK. Возможно еще много вариантов; Как обычно, читайте страницы руководства.
scp
(безопасная копия) – это де-факто Linux для передачи файлов через безопасный туннель. В вашем случае вы хотите использовать рекурсивный переключатель, например:
scp -r /home/a/ [email protected]:/home/b/
В sftp
эта команда рекурсивно загружает содержимое текущего каталога в удаленный текущий каталог:
put -r .
См. man sftp
.
Попробуйте использовать
put -r /home/a/ /home/b/
Для получения дополнительной информации: это
В моем случае rsync
не был возможен, поэтому я использовал:
mput -rp /home/a/ /home/b/