【问题标题】:Cron job to put files on server将文件放在服务器上的 Cron 作业
【发布时间】:2011-03-25 22:38:39
【问题描述】:

首先让我说我对 Cron 一无所知,很抱歉。如何让 php 或 perl 脚本从我的计算机中获取文件并在每天午夜将它们上传到我的网络服务器?

网络服务器是 linux。需要从中检索文件的计算机是 Windows。

【问题讨论】:

  • 请添加有关您计算机的更多信息。它在运行什么,Windows 还是 Linux?
  • (1) 编写一个脚本,将文件从您的计算机上传到您的网络服务器 (2) 了解 cron [这并不难。并且配合cygwin或者mingw可以在Windows上使用】(3)每天午夜使用cron运行脚本。

标签: php perl cgi cron


【解决方案1】:

Cron 将定期在本地计算机(运行 cron 的计算机)上启动脚本或运行命令。如果您可以在计算机上运行将文件上传到网络服务器的脚本,那么 cron 可以安排该脚本在每晚午夜运行。 (假设您正在运行具有 cron 或类似 cron 的操作系统。)但是,Cron 不会帮助您编写脚本来上传文件。

【讨论】:

    【解决方案2】:

    一种解决方案是在您的服务器上放置一个 FTP 服务器,并使用 PHP 必须上传(当然使用 FTP)从您的计算机到服务器的 FTP 功能。
    我认为很明显存在“一些”安全问题,您应该格外小心处理。

    【讨论】:

    • @Christopher "一次一头牛,我们会吃掉整个牛群" 您是否在要上传文件的机器上安装了 FTP 服务器?
    【解决方案3】:

    假设您运行的是 Linux,以下命令将显示相关手册页:

    man cron      # man page for cron
    man 1 crontab # man page for "crontab" program that installs and edits crontabs
    man 5 crontab # man page for cron schedule files (called "crontabs")
    

    基本上,cron 从计划中运行命令。该计划称为“crontab”,安装和编辑它们的命令也称为“crontab”。你可以使用

    crontab -e
    

    在编辑器中编辑您的 crontab。或者您可以创建一个 crontab 文件,然后使用

    安装它
    crontab file_to_use_as_crontab
    

    要查看您当前的 crontab,请使用

    crontab -l
    

    crontab 文件格式可能很神秘。下面的示例 crontab 每天午夜执行 /fully/qualified/path/to/script_that_copies_files。建议完全限定脚本的路径。

    # minute hour day month dayofweek
    0 0 * * * /fully/qualified/path/to/script_that_copies_files
    

    【讨论】:

    • 我认为主要的疑问在于文件的上传,而不是如何执行 cron 作业。
    • @IvoPereira 我看了帖子的第一句话,“首先让我说我对 Cron 一无所知,很抱歉。”。
    猜你喜欢
    • 2013-05-09
    • 1970-01-01
    • 2013-07-31
    • 2015-06-27
    • 2011-09-03
    • 2021-11-07
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多