2014-03-28 29 views
0

我想知道是否可以通過網頁執行諸如「crontab -l」之類的命令?這似乎是一個權限問題。如何通過php網頁執行crontab -l? Linux許可

$out = shell_exec('crontab -l'); 
echo '<pre>'.$out.'</pre>'; 

當這是通過PHP執行中,$出值爲空。

+0

這取決於誰管理Web服務器的cronJobs.txt .... – Hackerman

+0

請詳細點嗎?該腳本是暴露給公衆的網頁的一部分 – user3388884

回答

0

嗯,這是我落得這樣做......

  1. 我加入AA cron作業以更新的crontab的outout txt文件-l每分鐘 的crontab -l> /var/www/html/logs/cronJobs.txt

  2. 設置cronJobs.txt許可

  3. 鏈接從PHP頁面

0

從PHP.net:

這是不可能檢測到使用此函數執行失敗。 當訪問程序退出代碼爲 時,應使用exec()。

我建議你使用exec,這樣你就可以檢查命令是否成功執行。你應該可以輸出任何數據。

喜歡的東西:

exec('crontab -l 2>&1', $output, $return_code) 
if ($return_code !== 0) { 
    //Returned Error 
    echo implode("\n", $output); // display output 
} else { 
    //Returned OK 
    echo implode("\n", $output); // display output 
} 
+0

謝謝!我會給你一個鏡頭。 2>&1做什麼? – user3388884

+0

它會將錯誤和標準消息輸出傳送到正常輸出。這將確保您獲得命令返回的所有消息 – NMC

+0

但是,它可能仍然不起作用,因爲它可能是一個權限問題,並且apache用戶將無法訪問crontab列表。 – NMC