sftp使用shell脚本将文件从Windows服务器复制到Linux服务器

时间:2015-03-11 14:55:36

标签: linux windows bash shell

我正在研究应该将文件(及其子目录)从Windows Server传输到Linux-Samba服务器的shell脚本。 Windows服务器设置为接受sftp请求,我使用共享ssh密钥登录Windows服务器,因此无需密码交换。我可以使用以下命令从linux服务器登录Windows:

    sftp user@host_name

执行sftp命令并将我登录到Windows服务器。当我尝试使用:

    get -r /home_directory/first_level/* /local/directory/to/put/files

我收到错误消息"无效标记-r"。我无法使用SCP,因为它未在服务器上启用。

如果使用shell脚本以递归方式将所有文件和目录从Windows服务器复制到Linux服务器,我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以将Cygwin安装到Windows服务器上,然后从那里发起scp -r

答案 1 :(得分:0)

你能告诉我们一个更大的剧本片段吗?

此外,get关键字是sftp术语的一部分,您是否正在做这样的事情?

#!/bin/bash

sftp -v -oIdentityFile=path user@server<<-_EOF_
    get -r /home/dir/first_level/* /local/dir/to/put/files
    bye
_EOF_

# etc etc