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

おすすめ記事