Cron
誰的 PATH 值是 crontab 文件中的預設 PATH 值?
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
,LOGNAME
和HOME
是從的所有者所在/etc/passwd
行設置的。設置為。, , 並且可以被;中的設置覆蓋 是執行作業的使用者,不能更改。crontab``PATH``"/usr/bin:/bin"``HOME``SHELL``PATH``crontab``LOGNAME
(有關詳細資訊,請參見手冊
crontab
頁。)