【问题标题】:cron jobs to upload a file via FTP通过 FTP 上传文件的 cron 作业
【发布时间】:2010-11-06 00:46:03
【问题描述】:

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

【问题讨论】:

    标签: scripting ftp automation cron


    【解决方案1】:

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

    http://expect.nist.gov/

    如果你有“cron”,那么这些天你可能已经有“expect”了。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      【解决方案3】:

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

      这比使用 expect 更容易——它只是一个带有有用返回码的命令。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

          安排来自cron的脚本调用。
          在脚本中,

          为此,

          • 您需要在服务器和您的客户端机器之间设置公钥身份验证。
          • 您需要在客户端机器上安装一个sftp 客户端(所有平台都有客户端——PuTTY、Winscp.net、unix 变体通常已经安装了这个)。
          • 最后,使用公钥验证手动尝试 PUT 并记下命令 - 您可以将它们写入批处理文件以实现自动化

          其他一些注释。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-07-20
            • 2012-04-26
            • 2013-03-24
            • 2021-05-30
            • 1970-01-01
            • 2018-01-05
            • 2012-02-22
            相关资源
            最近更新 更多