나는 소스로 사용할 변수가 들어있는 파일 경로를 Bash 스크립트의 인수로 전달합니다. 파일이 Windows에서 생성되면 차이가있을 수 있습니다.Cron 작업이 파일을 "보지 못했습니다"
다음 검사가 수행됩니다 내가 수동으로 스크립트를 실행하면
CONFIG_FILE=$1
if [[ -f ${CONFIG_FILE} ]]; then
echo "Is a file"
. ${CONFIG_FILE}
else
echo "Not a file"
fi
는 명령 줄에서 검사가 미세하고 변수를 공급받을. 내가
*/1 * * * * /full/path/to/script.sh /full/path/to/configfile
를 사용하여 크론 작업을 설정할 때
그러나, 나는 얻을 "파일 없음"인쇄.
가 나는이 해결하기 위해 온라인으로 발견 된 모든 단일 설치하려고했습니다. 프로파일 (모두 소싱- 모두의 crontab 스크립트 자체에 환경 변수 설정 (PATH & SHELL)을/등/profile 및 . /home/user/.bash_profile)를 crontab (스크립트 실행 전)과 스크립트 자체에 모두 포함시켜야합니다.
- -u 사용자 매개 변수의 crontab을 실행하려고하지만, (I 이미 사용자로 누가해야 설정은 crontab을 로그인하고 같이하고, 이해가되지 않습니다)이 대한 권한이 없습니다
스크립트를 실행해야하는 적절한 사용자로 crontab을 설정합니다. 사용자는 파일 위치에 대한 액세스 권한을 갖습니다 (명령 행에서 스크립트를 실행하여 볼 수 있음).
다음에 시도 할 수있는 것에 대한 추가 정보를 찾고 있습니다.
'-q'는'script.sh'에 대한 옵션이며, 소스에 접근하지 않고 무엇을하는지 알 수 없습니다. – tripleee
@treepleee,'-q'는 관련이 없습니다. 스크립트는 결코 그것을 해석하지 않습니다. cron 줄에서는 설정 파일 매개 변수가 줄의 마지막 매개 변수가 아니므로이 파일 인수에'\ r '이 없어야합니다. –
@KarelKubat 좋은 추측이지만 그럼에도 불구하고 추측입니다. 우리는 스크립트의 전체 소스를 보지 않고는 말할 수 없습니다. – tripleee