[英]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.