cron 스크립트에서 mysql을 쿼리하는 방법은 무엇입니까?

cron 스크립트에서 mysql을 쿼리하는 방법은 무엇입니까?

내 스크립트에는 다음 코드가 있습니다.

mapfile results < <(mysql --batch -u $DB_USERNAME -p$DB_PASSWORD $DB_DATABASE < query.sql)

명령줄에서 실행하면 정상적으로 작동합니다. 그러나 /var/spool/cron/rootthen 변수에서 실행 하면 $results변수에는 아무것도 포함되지 않습니다.

이유와 해결 방법은 무엇입니까?

답변1

command줄 의 일부가 crontab해석되므로 더 간단한 구문을 지원하므로 명령을 스크립트 /bin/sh로 래핑 하고 해당 부분에서 해당 스크립트를 호출해야 합니다.bashcommand

또한 환경 변수( DB_*, PATH) 및 mysql설정을 환경에 수동으로 신중하게 전파해야 합니다 cron.

관련 정보