【问题标题】:scp not working saying its a directory errorscp 不工作,说它是一个目录错误
【发布时间】: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

【问题讨论】:

    标签: backup scp


    【解决方案1】:

    如果您想要 scp 文件,SCP 不会自动为您创建新目录(仅当您执行递归复制时它才会创建目录)。有错误的错误信息。错误应该是No such file or directory 或类似的。

    这是一个已知问题,并且有关于此 [1] 的上游 bugzilla。

    [1]https://bugzilla.mindrot.org/show_bug.cgi?id=1768

    【讨论】:

    • 目录已经存在。我所做的就是让它发挥作用。在目录前放一个点。 ./mysql-only/
    • 好的。刚才我注意到您以/ 开始您的路径,这是绝对路径,这意味着它不存在。把点放在那里,但最好从一开始就删除/
    【解决方案2】:

    -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/

    【讨论】:

    • 虽然这个代码段可能会回答这个问题,但你应该添加一个解释。
    • 请立即查看答案。
    【解决方案3】:
    scp -r source_location user@servername:/target_location
    

    【讨论】:

    • 这将以递归方式复制到目标位置。
    【解决方案4】:

    在我的情况下,令人惊讶的是目录不存在! :| 错误消息是错误吗?...还是我。后者的诱惑。

    【讨论】:

    • 这让我觉得这是一个明显错误的错误消息。
    • 我也遇到过这种情况——我犯了一个拼写错误,类似于 foo_bar(此目录不存在)而不是 foo-bar(此目录存在)。我收到了这个错误信息:“scp: /home/johndoe/foo_bar/: Is a directory”。确实很混乱。
    【解决方案5】:

    您正在将sh 文件复制到服务器上的新目录中,并且该目录应该存在但实际上不存在(然后机器认为您要将文件更改为目录)。您设置的目录很可能是错误的。

    【讨论】:

      【解决方案6】:

      当我尝试将scp 设置为相对于home 目录的路径时,我看到了类似的错误。删除路径中不必要的前导/ 后修复的错误:

      # scp ftpdelete.sh user@host@scp.adrive.com:mysql-only/
      

      然后

      # scp ftpdelete.sh user@host@scp.adrive.com:/mysql-only/
                                                  ^
      

      【讨论】:

        【解决方案7】:

        尝试将文件直接下载到本地根目录,然后从那里复制: root@host1 [/usr/src]# scp user@host:/root/Desktop/file.txt /root/home/

        【讨论】:

        • 欢迎来到 SO!当您回答了一个问题并且有其他答案时,请尝试添加新 P.O.V. 的优点和缺点。
        猜你喜欢
        • 2016-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多