2011-10-22 70 views
10

實施例:如何使用參數運行cron作業並將結果傳遞給日誌?

* * * * * /usr/bin/php /full/path/to/script.php arg1 arg2 > /full/path/to/logfile.log 

腳本運行和訪問參數就好,但結果從未打印到LOGFILE.LOG。另外,我的logfile.log是chmod 777,所以我知道它有寫權限。

你能修復我的語法嗎?

+1

用戶是否有寫入權限的文件夾? – mik

+0

是的,文件夾和文件。還有其他日誌在同一個目錄下工作。我認爲問題出在了爭議上。但是,如果我的語法正確,我將不得不捅更多的調試。 – Ryan

+1

也許你不應該使用'* * * * *',因爲這會每60秒覆蓋一次日誌......當你用'>>'追加時你看到了什麼? – Jens

回答

11

看起來您正在搜索錯誤的文件夾中的日誌文件。 試試這個

* * * * * cd /path/to/script.php ; ./script.php arg1 arg2 >> logfile.log 

然後尋找在/路徑/到/腳本文件夾中的日誌文件。 它也可能是寫入權限問題。 另外,檢查您的腳本的錯誤。 你的crontab命令似乎沒問題。

+0

對不起,我的問題並不完全清楚。我一直在使用根路徑。我剛更新了問題以澄清。所以你說這是正確的格式,對吧? – Ryan

+0

現在命令看起來沒問題,可能是有寫權限問題?另外,嘗試cd/path/to/script,它可能會有所幫助。 – mik

+0

@ rcode74:你的編輯破壞了命令。我要回滾。它需要「cd」到包含'script.php' *的目錄,然後調用腳本。 '/ path/to/script.php'不是文字;它表示任何目錄包含腳本的名稱。 –

1

該命令是否可以從命令行正常工作? 參數可能包含一些由shell特別處理的字符。在這種情況下,您需要引用整個命令來防止shell修改參數。

相關問題