Mysql cli не возвращает данные в bash-скрипте, запущенном crontab - PullRequest
1 голос
/ 12 ноября 2019

У меня есть bash-скрипт, который выполняется с помощью задания cron

#!/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" наconsole.

При запуске скрипта через задание cron

* 12 * * * /.../extract.sh > /.../cron_log.txt

, тогда я получаю пустую строку, сохраненную в файле cron_log.txt!?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...