我正在研究应该将文件(及其子目录)从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服务器,我该怎么办?
答案 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