【发布时间】:2020-03-07 16:10:27
【问题描述】:
我有一个通过 cron 作业执行的 bash 脚本
#!/bin/bash
# abort on errors
set -e
ABS_DIR=/path/
# extract the creds for the mysql db
DB_USER="USERNAME"
DB_PASS="PASSWORD"
function extract_data() {
file=$2
sql_query=`cat $ABS_DIR/$1`
data=`mysql -u $DB_USER --password="$DB_PASS" -D "database" -e "$sql_query" | tail -n +2`
echo -e "Data:"
echo -e "$data"
}
extract_data "sql_query.sql" "log.csv"
当使用bash extract.sh 手动运行它时,mysql cmd 可以正确获取数据,我在控制台上看到了echo -e "$data"。
通过 cron 作业运行脚本时
* 12 * * * /.../extract.sh > /.../cron_log.txt
然后我得到一个空行保存到cron_log.txt 文件!?
【问题讨论】: