Cron

誰的 PATH 值是 crontab 文件中的預設 PATH 值?

  • October 30, 2018

root 的預設 PATH 是

$ sudo su
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

創建 /etc/cron.d/myjob 後

35 * * * * tim ( date && echo $PATH && date ) > /tmp/cron.log 2>&1

/tmp/cron.log顯示 PATH 的預設值為:

/usr/bin:/bin

crontab 文件中的預設 PATH 值不是根目錄的值嗎?為什麼?

它是誰的 PATH 值?

/etc/crontab如果我在其中添加作業或在下添加文件,預設 PATH 值會有所不同/etc/cronb.d/嗎?

在 cron 作業中指定哪個使用者是否重要?(比如tim上面的例子)

謝謝。

這取決於cron您使用的版本。我好像記得你用的是 Debian;cron設置了許多變數,如下所示:

cron(8)守護程序會自動設置幾個環境變數。SHELL設置為/bin/sh,LOGNAMEHOME是從的所有者所在/etc/passwd行設置的。設置為。, , 並且可以被;中的設置覆蓋 是執行作業的使用者,不能更改。crontab``PATH``"/usr/bin:/bin"``HOME``SHELL``PATH``crontab``LOGNAME

(有關詳細資訊,請參見手冊crontab頁。)

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