Ответ 1
Удивительно, но в моем случае это не было, потому что каталог не существовал !! : | Является ли сообщение об ошибке ошибкой?... или это я. Соблазн за последнее.
Я пытаюсь скопировать файл на удаленный сервер в определенной папке.
Это план резервного копирования adrive. Но он поставляется с scp. Я могу скопировать файл, если я не выбираю каталог. Даже если я помещаю каталог, который не существует, он говорит о своей директории.
[email protected] [/usr/src]# scp ftpdelete.sh [email protected]@scp.adrive.com:/mysql-only/
scp: /mysql-only/: Is a directory
Удивительно, но в моем случае это не было, потому что каталог не существовал !! : | Является ли сообщение об ошибке ошибкой?... или это я. Соблазн за последнее.
SCP не создает автоматически новый каталог, если вы хотите скопировать файл (он создает каталог, только если вы делаете рекурсивное копирование). Неправильное сообщение об ошибке. Ошибка должна быть No such file or directory
или аналогичного.
Это известная проблема, и по этому поводу существует багзилла вверх по течению [1].
-r 'Рекурсивно скопировать целые каталоги. Обратите внимание, что scp следует символическим ссылкам, встречающимся в обход дерева.
Но он не создает каталог, но вы можете сделать ниже
ssh remote mkdir /diretcory
[email protected] [/usr/src]# scp -r ftpdelete.sh [email protected]@scp.adrive.com:/complete_path/mysql-only/
или
rsync может создавать каталог, если не существует, его базовый синтаксис команды аналогичен scp: ²
$ rsync -r -e ssh ftpdelete.sh me @my-system: /complete_path/mysql-only/
Вы копируете файл sh
в новый каталог на сервере, и каталог, как ожидается, будет там, но на самом деле его нет (тогда компьютер решит, что вы хотите изменить файл на каталог). Скорее всего, вы установили неправильный каталог.
scp -r source_location [email protected]:/target_location
Я видел аналогичную ошибку, когда пытался scp
указать путь относительно каталога home
. Ошибка исправлена после удаления ненужного ведущего /
в пути:
# scp ftpdelete.sh [email protected]@scp.adrive.com:mysql-only/
а не
# scp ftpdelete.sh [email protected]@scp.adrive.com:/mysql-only/
^
Попробуйте загрузить файл непосредственно в локальный корневой каталог, а затем скопируйте его оттуда: root @host1 [/usr/src] # scp user @host: /root/Desktop/file.txt/root/home/