【问题标题】:Using crontab to execute script every minute and another every 24 hours [closed]使用 crontab 每分钟执行一次脚本,每 24 小时执行一次脚本 [关闭]
【发布时间】:2014-03-25 21:18:48
【问题描述】:

我需要一个 crontab 语法,它应该每分钟执行一个特定的 PHP 脚本/var/www/html/a.php。每分钟的执行必须从 00:00 开始。另一个必须在 00:00 /var/www/html/reset.php 执行脚本的任务(每 24 小时执行一次)。

【问题讨论】:

    标签: crontab


    【解决方案1】:

    每分钟:

    * * * * * /path/to/php /var/www/html/a.php

    每 24 小时(每个午夜):

    0 0 * * * /path/to/php /var/www/html/reset.php

    有关 crontab 的工作原理,请参阅此参考:http://adminschoice.com/crontab-quick-reference,以及用于构建 cron jobx 的便捷工具:http://www.htmlbasix.com/crontab.shtml

    【讨论】:

    • 亲爱的简!很好的答案。每 30 秒运行一次 cron 怎么样?是这样吗? * * * * */30 /path/to/php /var/www/html/a.php ?
    • 不幸的是,您不能比每分钟更频繁地运行 cron 作业。您必须为此使用其他东西。
    • Jan Hančič,你可以这样做。您只需要使用此处描述的一个简单技巧:stackoverflow.com/a/1034304/1580615
    • 使用 cron 每分钟执行 .php 脚本是否正常?它会降低服务器的生产力吗?还有其他不好的副作用吗?
    • @flaab 每 30 秒你可以尝试这样的事情: - * * * * * curl --silent URL >/dev/null 2>&1 * * * * * sleep 30; curl --silent URL >/dev/null 2>&1
    【解决方案2】:

    这是/etc/crontab的格式:

    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed
    

    我建议将其复制并粘贴到您的 crontab 文件的顶部,这样您就可以随时获得参考。 RedHat 系统默认就是这样设置的。

    每分钟运行一次:

    * * * * * username /var/www/html/a.php
    

    每天午夜运行某事:

    0 0 * * * username /var/www/html/reset.php
    

    您可以在命令中包含 /usr/bin/php 来运行,也可以使 php 脚本直接可执行:

    chmod +x file.php
    

    用 shebang 启动你的 php 文件,以便你的 shell 知道使用哪个解释器:

    #!/usr/bin/php
    <?php
    // your code here
    

    【讨论】:

    • 这是/etc/crontab的格式,是一个system的crontab文件。 user crontab 具有不同的格式,它不包括用户名字段,因为它以提交它的用户身份运行。如果你想以非 root 用户的身份运行一个 cron 作业,你应该使用crontab 命令来提交它(而不用担心 crontab 的存储位置)。除非你真的需要,否则不要乱用/etc/crontab
    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 2016-11-21
    • 2020-03-05
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多