我即將通過curl按計劃觸發一個PHP文件調用。我正在考慮讓腳本在23:59:59之間執行,或者在明天輪換前一分鐘執行。任何最好的方法呢?在cron設置上還是很困惑。明天前cron工作分鐘
我需要確保我在第二天之前完全是一個第二運行。
我即將通過curl按計劃觸發一個PHP文件調用。我正在考慮讓腳本在23:59:59之間執行,或者在明天輪換前一分鐘執行。任何最好的方法呢?在cron設置上還是很困惑。明天前cron工作分鐘
我需要確保我在第二天之前完全是一個第二運行。
在每天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
?>
這是否意味着cron將在23:59:59完全運行,但它只是在23:59可視化設置? – 2012-03-30 08:54:43
@Defensor不,我在答案中沒有清楚。這將在每天23:59運行。你不能使用crontab指定秒數 – 2012-03-30 08:56:19
@Defensor爲什麼你需要它來精確運行? – 2012-03-30 08:56:59
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
這是一個非常好的可視化 – sshow 2012-03-30 08:49:17
非常棒的答案+1! – 2012-03-30 08:50:14
59秒怎麼樣? – 2012-03-30 08:51:55
你可以將其設置爲正好23:59:00日常運行,看看例子把here。具體看例子號。 1,它解釋瞭如何在每天的特定時間設置cronjob。
開始的crontab編輯由
crontab -e
或
vi /etc/cronatb
這取決於發行。
59 23 * * * root /path/to/your/php/file.php
請注意,「root」列意味着在其下啓動作業的用戶名,可能在您的系統上不可用。
嘗試更多細節
+1很好解釋 – 2014-04-29 04:30:43
我完全同情運行
,cron的設置可能會相當混亂。我會在一秒內發佈一個答案:-) – 2012-03-30 08:47:03