前一分钟的cron工作

时间:2012-03-30 08:43:08

标签: php cron

我将在计划的基础上通过curl触发对PHP文件的调用。我正在考虑让每个 23:59:59 执行脚本,或者只是在明天前一天之前执行。对此最好的方法是什么?还是对cron设置感到困惑。

我需要确保在第二天之前准确地跑一秒钟。

4 个答案:

答案 0 :(得分:14)

Minutes [0-59]  
|   Hours [0-23]  
|   |   Days [1-31]  
|   |   |   Months [1-12]  
|   |   |   |   Days of the Week [Numeric, 0-6]  
|   |   |   |   |  
*   *   *   *   * home/path/to/command/the_command.sh  




 59 23 * * * home/path/to/command/the_command.sh 

答案 1 :(得分:8)

要在每天23:59:00执行脚本,请使用以下命令:

59 23 * * * root /path_to_file_from_root

无法使用Cron 定义秒数,但这应该适合您。

要在23:59:59执行脚本,请使用PHP sleep()函数将脚本执行延迟59秒。我会建议58秒,只是为了确保脚本在午夜之后不会延迟。

这是非常基本的,您可以使它更复杂并运行测试以确保脚本始终在23:59:59运行,方法是检索时间并适当延迟。但这不应该是必要的。

<?php

    // Any work that the script can do without altering the database, do here

    // Delay the script by 58 seconds
    sleep(58);

    // Carry on with the rest of the script here, database updates etc

?>

答案 2 :(得分:1)

启动crontab编辑
crontab -e

vi /etc/cronatb

这取决于发行版。

59 23 * * * root /path/to/your/php/file.php

请注意,“root”列表示启动作业的用户名,可能在您的系统上不可用。

尝试运行

man crontab

了解更多详情

答案 3 :(得分:0)

您可以将其设置为每天23:59:00运行,看一下放置here的示例。具体看一下例子没有。 1,它解释了如何在每天的特定时间设置cronjob。