Skip to content

Tar не выполняется в задаче cron от пользователя

CentOS Исходная задача: Выполнить бэкап базы данных прикладной системы (Open Edge Progress). Выполняется скрипты backup_one.sh - выполняет остановку БД, архивирование tar-ом, выргузку на FTP, запуск БД. Входе этого что-то неизбежно попадает в STDOUT и STDERR backup_all.sh - Скрипт выполняет backup_one.sh по списку баз из файла. Скрипт backup_all.sh выполняется ночью cron-ом под учетной записью пользователя, не root-ом. Скрипт backup_all.sh в консольной сессии под тем же пользователем выполнеяется без проблем.

Проблема: Если список баз большой, в нашем случае 7, то на последней из них tar - не выполняется. Если список бал мал, например 2, то все выполнется успешно.

Решение: Убрать весь вывод в STDOUT, например так:

# a number 1 = standard out (i.e. STDOUT)
# a number 2 = standard error (i.e. STDERR)
command > /dev/null 2>&1