2012-01-17 115 views
124

我想設置一個作業,每天在根crontab中運行。但我希望它從一個特定的目錄執行它,以便它可以找到它需要的所有文件,因爲應用程序有一堆相對路徑。Crontab - 在目錄中運行

無論如何,我可以告訴crontab從一個特定的目錄運行嗎?

回答

219

所有作業都由shell執行,所以通過命令啓動該shell代碼片段來更改目錄。

cd /path/to/directory && ./bin/myapp 
+0

而不是增加主要是重複的答案,我只想補充一點,你可以選擇殼(如果你需要在bash而不是SH,例如)通過在crontab設置'SHELL'。 – 2012-01-17 18:42:30

+0

所以這個命令將執行應用程序(存儲在bin)在另一個目錄中,不是嗎?但是,如果您已經將應用程序安裝在正確的目錄中,那麼我放在我的答案中的命令就可以了,對吧?對不起,我只是不明白這個問題。 – 2012-01-17 18:43:48

+5

+1。其他相關問題的解決方案是用絕對路徑重寫腳本。這正是我所需要的 – 2012-06-22 15:53:05