【发布时间】:2015-10-06 21:34:53
【问题描述】:
我正在尝试将文件复制到某个文件夹中的远程服务器。
它是一个驱动器备份计划。但它带有scp。如果我不选择目录,我可以复制文件。即使我放了一个不存在的目录,它也会说它是一个目录。
root@host1 [/usr/src]# scp ftpdelete.sh user@host@scp.adrive.com:/mysql-only/
scp: /mysql-only/: Is a directory
【问题讨论】:
我正在尝试将文件复制到某个文件夹中的远程服务器。
它是一个驱动器备份计划。但它带有scp。如果我不选择目录,我可以复制文件。即使我放了一个不存在的目录,它也会说它是一个目录。
root@host1 [/usr/src]# scp ftpdelete.sh user@host@scp.adrive.com:/mysql-only/
scp: /mysql-only/: Is a directory
【问题讨论】:
如果您想要 scp 文件,SCP 不会自动为您创建新目录(仅当您执行递归复制时它才会创建目录)。有错误的错误信息。错误应该是No such file or directory 或类似的。
这是一个已知问题,并且有关于此 [1] 的上游 bugzilla。
【讨论】:
/ 开始您的路径,这是绝对路径,这意味着它不存在。把点放在那里,但最好从一开始就删除/。
-r' 递归复制整个目录。请注意,scp 遵循树遍历中遇到的符号链接。
但它不会创建目录,但你可以在下面做
ssh remote mkdir /diretcory
root@host1 [/usr/src]# scp -r ftpdelete.sh user@host@scp.adrive.com:/complete_path/mysql-only/
或
如果不存在,rsync 可以创建目录 它的基本命令语法类似于 scp:²
$ rsync -r -e ssh ftpdelete.sh me@my-system:/complete_path/mysql-only/
【讨论】:
scp -r source_location user@servername:/target_location
【讨论】:
在我的情况下,令人惊讶的是目录不存在! :| 错误消息是错误吗?...还是我。后者的诱惑。
【讨论】:
您正在将sh 文件复制到服务器上的新目录中,并且该目录应该存在但实际上不存在(然后机器认为您要将文件更改为目录)。您设置的目录很可能是错误的。
【讨论】:
当我尝试将scp 设置为相对于home 目录的路径时,我看到了类似的错误。删除路径中不必要的前导/ 后修复的错误:
# scp ftpdelete.sh user@host@scp.adrive.com:mysql-only/
然后
# scp ftpdelete.sh user@host@scp.adrive.com:/mysql-only/
^
【讨论】:
尝试将文件直接下载到本地根目录,然后从那里复制: root@host1 [/usr/src]# scp user@host:/root/Desktop/file.txt /root/home/
【讨论】: