2013-07-17 86 views
0

我正在使用PHP腳本創建動態cronjob。 cron作業添加功能對我來說工作正常。我的腳本在下面給出。Crontab編輯不能在PHP腳本中工作

<? 
$output = shell_exec('crontab -l'); 
file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL); 
echo exec('crontab /tmp/crontab.txt'); 
?> 

我需要使用PHP編輯獨立的cronjob。我嘗試了很多方法,但沒有成功。我編輯的cron腳本isgiven下面

-e(編輯用戶的crontab)

<? 
    $output = shell_exec('crontab -l'); 
    file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL); 
    echo exec('-e crontab /tmp/crontab.txt'); 
    ?> 

我參考鏈接LINK

我如何使用PHP編輯cron作業。請指教

+0

沒有php有正確的權限寫入crontab文件? – JWMarchant

+0

@ jam6549我如何設置此權限以及如何訪問。請指導我 –

+0

如果您使用的是Linux,請將文件的所有者更改爲'www-data': 'sudo chown www-data/tmp/crontab.txt' – JWMarchant

回答

1

首先對語法:它的crontab -e 用此命令打開當前用戶的crontab中,如果你想從不同的用戶更改某些cron的信息,你必須使用此語法:

crontab -u your-user-here -e 

但是這會打開一個默認的文本編輯器。

如果你真的想用php編輯不同用戶的crontab,你必須讀取文件的內容,編輯它然後寫回來。

您必須記住,您不能編輯所有cron文件,導致用戶權限。

+0

我該如何編輯我的單獨的cron作業請解釋。我不明白。 –

+0

好的,你把你的文件寫到:「/tmp/crontab.txt"/如果你想真的編輯它,然後讀回它:[file-get-contents](http://php.net/manual/de /function.file-get-contents.php)。之後,您可以編輯文件的內容並將其寫回並重新執行 – alabama

+0

我正在嘗試這種方式,但是如何找到確切的編輯行。如果您有任何腳本,請給我。我有一些混亂。所以只有我問 –