루트의 기본 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 값이 root 값이 아닌가요? 왜?
누구의 PATH 값에 속합니까?
에 작업을 추가하거나 아래에 파일을 추가하면 /etc/crontab
기본 PATH 값이 달라지나요 /etc/cronb.d/
?
크론 작업에 어떤 사용자를 지정하는 것이 중요합니까? ( tim
위의 예처럼)
감사해요.
답변1
cron
이는 사용 중인 버전에 따라 다릅니다. 나는 당신이 데비안을 사용하고 있었던 것을 기억하는 것 같습니다. cron
다음과 같이 많은 변수가 설정되었습니다.
여러 환경 변수가 시스템에 의해 자동으로 설정됩니다.
cron(8)
악마.SHELL
로 설정되고 은(/bin/sh
는) 소유자 행에서 설정 됩니다. 으로 설정되어 있습니다. , 및 는 작업을 실행하는 사용자이므로 변경할 수 없습니다.LOGNAME
HOME
/etc/passwd
crontab
PATH
"/usr/bin:/bin"
HOME
SHELL
PATH
crontab
LOGNAME
(바라보다이것crontab
자세한 내용은 매뉴얼 페이지를 참조하십시오. )
답변2
특정 구현에 대해 언급하지 않았으므로 cron
원래 UNIX cron 구현에 대해 이야기하고 있다고 가정하겠습니다.
기본값 PATH
( root
for /usr/sbin:/usr/bin
)과 루트가 아닌 사용자를 위한 기본값( for /usr/bin:
)이 있습니다.
관련 값은 다음에 의해 재정의될 수 있습니다.
PATH=
SUPATH=
파일에 /etc/default/cron
.
바라보다:https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/cmd/cron/
또한보십시오:http://schillix.sourceforge.net/man/man1m/cron.1m.html그리고http://schillix.sourceforge.net/man/man1/crontab.1.html
복제 구현을 참조하는 경우 원하는 구현을 언급해야 합니다.