Cron

cron 無法使用自定義 PATH 中符號連結的命令

  • April 26, 2016

我有一個腳本job.sh/home/user/scripts然後符號連結到/home/user/bin/job. 自定義二進製文件路徑已包含在 中,因此每當我從 cli.bashrc發出命令時,一切都會按預期工作。job param1 etc

當所述命令必須通過 cronjob 執行時,它不會。另一方面,如果 cronjob 引用完整路徑(/home/user/bin/job而不是簡單地job),一切執行正常。

關於如何解決這個問題的任何指示?

cron故意在受限環境下執行(包括受限路徑,它與標準 shell 的路徑不同)。

您需要執行一個腳本(包括腳本的完整路徑),然後在內部設置一個路徑變數,或者您需要crontab在行本身中設置路徑。

其中一個例子是,

12 0 * * * (export PATH=$PATH:/somedirectory; job)

但實際上,將完整路徑包含在 中執行的任何內容crontab並在執行的腳本中正確設置路徑會更安全cron

引用自:https://unix.stackexchange.com/questions/279201