cron: 전체 경로 제공 시 찾을 수 없음

cron: 전체 경로 제공 시 찾을 수 없음

이것은 또 다른 기본적인 크론 문제처럼 보일 수 있지만, 이것을 알아낼 수는 없습니다:

@hourly "/usr/bin/php /usr/local/bin/notify.sh"

여러 가지 항목을 한 서버에서 다른 서버로 옮겼고 몇 가지 작업을 마친 후 대부분 원활하게 실행되었으며 이제 불을 끄고 있습니다.

다음 크론 작업이 실행될 때 매시간 이 이메일을 받습니다.

/bin/sh: 1: /usr/bin/php /usr/local/bin/notify.sh: not found

대개,찾을 수 없음PATH가 존재하지 않아서 발생했지만(크론 작업 관련 문제)전체 경로PHP 및 스크립트용. 스크립트는 루트로 실행되며 스크립트를 대화형으로 실행할 수 있습니다.

스크립트에는755보안을 위한 권한(누구나 읽거나 실행할 수 있음)이므로 권한은 문제가 되지 않습니다.

스크립트와 이 스크립트가 호출하는 스크립트를 수동으로 실행할 수 있으므로 이 "찾을 수 없음"이 어디서 나오는지 알 수 없습니다.

실행된 것 외에 cron 로그에는 의심스러운 것이 없습니다.

이전 서버에서는 잘 작동합니다.

여기에 다른 요인이 있을 수 있나요? 아니면 이 문제의 원인을 어떻게 추적할 수 있나요?

답변1

입구

@hourly "/usr/bin/php /usr/local/bin/notify.sh"

단일 인수로 전달됩니다 /usr/bin/php /usr/local/bin/notify.sh. /bin/sh -c이것이 오류 메시지의 이유입니다

/bin/sh: 1: /usr/bin/php /usr/local/bin/notify.sh: not found

그 누구보다도

/bin/sh: 1: /usr/bin/php: not found

Could not open input file: /usr/local/bin/notify.sh

프로그램 /usr/bin/php과 해당 파일 이름 인수를 별도로 전달하려면 /usr/local/bin/notify.sh따옴표를 제거하십시오.

@hourly /usr/bin/php /usr/local/bin/notify.sh

관련 정보