OpenSuse의 CRON의 $PATH 변수

OpenSuse의 CRON의 $PATH 변수

터미널에서 완벽하게 실행되는 스크립트를 작성했지만 crontab을 통해 호출하면 오류가 발생합니다. 문제가 내 스크립트가 아니라 cron 환경에 있다는 것을 알아내는 데 시간이 좀 걸렸습니다.

그래서 온라인에서 다양한 게시물을 읽은 후 몇 가지 옵션을 시도했습니다.

* * * * * PATH=/home/sam/bin:/home/sam/scriptbin/ /path/to/script 쓸모 없는

* * * * * bash -lc /path/to/script쓸모 없는

* * * * * /path/to/script쓸모 없는

`PATH=blahdeblah
* * * * * jobdejob` Didn't work

OPENSUSE에서 crontab의 변수를 변경하거나 $PATHcron 파일에 포함되어 제대로 작동하도록 하는 방법입니다. 저는 오픈수세11을 사용하고 있습니다.

감사해요!

답변1

두 가지 방법 중 하나는 일부 cron 데몬을 사용하여 환경 변수를 설정할 수 있다는 것입니다.

PATH=blahdeblah
* * * * * jobdejob

둘째, env(1)실제 작업을 실행하는 유틸리티를 사용합니다.

* * * * * env PATH=blahdeblah jobdejob

삼! 크론 작업에서는 정규화된 경로를 사용하세요. 아니요, 아니요, Jeff가 말했듯이 스크립트에서 경로를 설정하는 방법에는 네 가지가 있습니다.

#!/bin/sh
PATH=blahdeblah
...

다섯째, 무자비한 헌신 PATH.

관련 정보