2014-01-20 66 views
1

也有類似的線程,我已經通過了。請不要清除我的疑惑!在PHP中創建並執行cron作業

refresh.php

<?php 

echo "This code will run every minute"; 
if(count!=1) 
count+=1; 
else 
$count = 1; 

echo $count; 
?> 

cron.php

<?php 
    exec('echo -e "`crontab -l`\n30 1 * * * /opt/lamt/htdocs/refresh.php" | crontab -'); //to run at 1:30 am   
?> 
  1. 如何在10時30分跑的?
  2. 如何執行cron.php ??

我正朝着正確的方向走嗎?

+0

我想你一定打電話給你文件使用'php -f/opt/lamt/htdocs/refresh.php' – Cyclonecode

+0

「contab -e」來編輯你的cron時間表。 – Xardas

回答

3

打開殼和輸入:

command="php /opt/lamt/htdocs/refresh.php" 
job="30 22 * * * $command" 
cat <(fgrep -i -v "$command" <(crontab -l)) <(echo "$job") | crontab - 

上面創建在22.30每天執行/opt/lamt/htdocs/refresh.php一個cronjob。

command="php /opt/lamt/htdocs/refresh.php" 
job="30 10 * * * $command" 
cat <(fgrep -i -v "$command" <(crontab -l)) <(echo "$job") | crontab - 

以上創建在10.30每天執行/opt/lamt/htdocs/refresh.php一個cronjob。

這是正確的語法crontab

# * * * * * command to execute 
# ┬ ┬ ┬ ┬ ┬ 
# │ │ │ │ │ 
# │ │ │ │ │ 
# │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0) 
# │ │ │ └────────── month (1 - 12) 
# │ │ └─────────────── day of month (1 - 31) 
# │ └──────────────────── hour (0 - 23) 
# └───────────────────────── min (0 - 59) 

Source

+0

來源?如果我想在一天內執行兩次,該怎麼辦? 10:30 pm,我也是 –

+0

@Tuga最新怎麼樣? –

+0

@Programming_crazy我已經更新了我的答案,查看了一下。 –

2

打開你的Linux終端,然後寫一個命令:

crontab -e 

文本編輯器將打開。 複製這條線有:

30 22 * * * php -f /opt/lamt/hdocs/refresh.php 

保存。 您的PHP代碼中不需要「exec」。

2

你不需要cron.php,跟隨我的領導:

試試這個命令:

nano /etc/crontab 

和文件中加入這一行:

30 22 * * * username /usr/bin/php /opt/lamt/hdocs/refresh.php 
+0

不需要重啓'crond'服務 –

+0

你確定嗎?讓我檢查 –

+1

檢查它在這裏:http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ –