cron作业通过FTP上传文件

时间:2009-06-26 02:16:18

标签: scripting ftp automation cron

是否可以使用CRON通过FTP上传文件?如果是,我如何调用FTP来运行上传?

5 个答案:

答案 0 :(得分:7)

假设一个类UNIX操作系统,您可以设置一个指向shell脚本的cron作业,如下所示:

#!/bin/sh
cd [source directory]
ftp -n [destination host]<<END
user [user] [password]
put [source file]
quit
END

根据您的ftp客户端默认值和源文件类型,您可能需要在binary之前指定put

答案 1 :(得分:2)

您可以使用ncftp - 他们有一个名为“ncftpput”的便利工具

使用expect更容易 - 它只是一个包含有用返回码的命令。

答案 2 :(得分:1)

您可能正在寻找一个名为“expect”的程序,该程序专为处理交互式进程而设计。

http://expect.nist.gov/

如果你有“cron”,那么你现在可能已经“期待”了。

答案 3 :(得分:1)

cron安排脚本调用 在脚本中,

为此,

  • 您需要在服务器和客户端之间设置公钥认证。
  • 您将需要客户端计算机上的sftp客户端(所有平台都有客户端 - PuTTY,Winscp.net,unix变体通常已安装此版本)。
  • 最后,使用公钥验证手动尝试PUT并记下命令 - 您可以将它们写入批处理文件以进行自动化

其他一些说明。

  • expect对此要求来说太过分了。
  • 此外,任何需要编写密码的方案都是错误的
  • ncftp适用于交互式会话(不是这种自动化)
  • 我不知道wput是否允许公钥验证(可能不是),在这种情况下它不适合这种自动化

答案 4 :(得分:0)

只需创建您的CRON作业即可通过FTP调用WGET上传或下载您的文件!