通过SFS上传/下载文件到/从远程位置通过KSH脚本

时间:2015-02-27 09:00:55

标签: shell sftp ksh

我有一个java程序,它可以像批处理一样运行(在白天的特定时间)和Unix Shell Wrapper,它需要包含触发批处理的代码,然后传输程序的输出文件(通过SFTP)到远程服务器位置。同样,它还必须从远程位置获取文件,并通过SFTP再次将其“拉”到我们的服务器上。

我的查询是如何通过SFTP将文件传输到远程位置/从远程位置传输文件? 此外,如果传输文件时出现任何故障/错误,我需要执行一些错误处理,例如提高通知等。  我必须在Korn Shell脚本中编写命令。我没有shell脚本的背景,并一直在查找教程和论坛,以帮助我找到解决方案,但我仍然没有。我见过建议使用sftp批处理文件或使用类似的东西的解决方案     sftp $ user @ $ host<<< 'pwd'> / dev / null 2>& 1但是我不认为第二个命令正在寻找我正在寻找的东西并且不知所措。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您设置了ssh密钥,则可以在没有用户输入(密码)的情况下运行此批处理模式。 IT在这里称为文档:

 cd /path/to/output
    /usr/bin/sftp user@remote.com <<-EOF
      cd /path/to/remote/directory
      put  file1
      put  file2
      put extra_files*
      exit
EOF

如何使用ssh-keygen设置ssh密钥: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html