$PATH를 전역적으로 수정하는 방법

$PATH를 전역적으로 수정하는 방법

내 서버에서는 코드를 예약하는 Debian데 사용합니다 . 문제는 다음과 같은 줄을 추가할 때입니다.crontabpython

6 9 * * * python /path/to/daily_task.py &> $HOME/out.txt

당연히 출력에는 python명령을 찾을 수 없다고 표시됩니다.

물론, 예를 들어 crontab 항목에 전체 경로를 추가할 수도 있지만 그 아이디어는 혼란 스러워 /opt/python/3.9.2/bin/python보이고 .os.system("python task.py")daily_task.py

나는 다음과 같은 줄을 추가하려고 시도했습니다 /etc/environment.

export PATH="$PATH:/opt/python/3.9.2/bin/"

재부팅 한 후에 실제로 python터미널 창에서 사용할 수 있지만 crontab여전히 $PATH./usr/bin

crontab 파일을 변경하지 않고 $PATH모든 곳에서 변경하려면 이 코드를 어디에 넣어야 합니까 ?crontab

답변1

내용을 보면 /bin많은 프로그램이 bin 디렉토리에 직접 들어가지 않기 때문에 많은 심볼릭 링크를 볼 수 있습니다. 다음과 같이 할 수도 있습니다.

sudo ln -s /opt/python/3.9.2/bin/python /usr/bin

이렇게 하면 crontab.

답변2

다음과 같이 crontab 파일 자체에 환경 변수를 추가할 수 있습니다.

PATH=/usr/bin:/whatever/bin
HOME=/home/myuser
6 9 * * * python /path/to/daily_task.py &> $HOME/out.txt

관련 정보