簡體   English   中英

PHP:在root擁有的目錄中創建cron文件嗎? (以www-data身份運行)

[英]PHP: Create a cron file in a directory owned by root? (Running as www-data)

我正在嘗試將新文件添加到ubuntu服務器上的/etc/cron.d/目錄中,以便在添加新用戶時添加/運行新的cron腳本。 用戶是通過Web UI創建的,因此PHP代碼是由用戶www-data執行的,但是由於/etc/cron.d/目錄歸root所有,因此我無法在其中寫入代碼。

我確實可以控制整個服務器,但是出於安全原因,我不想永久更改/etc/cron.d/www-data所有。

理想情況下,我想在一個PHP文件中完成所有操作,但是我嘗試使用外部bash腳本來瀏覽權限,但是沒有運氣。 本質上,這就是我想做的事情:

$filename = "something.cron";
file_put_contents("/etc/cron.d/".$filename, "* * * * * /usr/bin/php -f /another/file/to/execute.php");

最好的方法是什么? 我很抱歉,如果已經有人問過/回答過,我搜索並發現了十二個類似的問題,但是沒有什么完全匹配的,並且由於已經超過30分鍾,所以我想可以尋求幫助

您需要使用exec命令設置Cron作業,而不能使用PHP設置

exec('echo -e "`crontab -l`\n30 11 * * * /path/to/script" | crontab -');

這將在每天的11:30運行腳本。

同時查看本教程:

http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php-2--net-19428

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM