Логи выполнения pg_dump из docker контейнера

Есть вот такая команда, стягивающая дамп базы postgres из докера в хост.

#!/bin/bash

docker exec db pg_dump -U postgres -Fc -v -d postgres | gzip -9 > /path/to/backup-$(date +%Y-%m-%d).dump.gz

Выполняется она из crontab

1 0 * * * /path/to/dump.sh >> /var/log/cron_backup.log

По итогу в cron_backup.log ничего не записывается. Каким образом ещё можно логировать выполнение pg_dump в файл?


Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA

pg_dump пишет свой лог в stderr, а с теми опциями, что вы запускаете дамп выводится в stdout и он полностью попадает на вход gzip.

Так что нужно перенаправлять stderr, а не stdout:

1 0 * * * /path/to/dump.sh 2>>/var/log/cron_backup.log
→ Ссылка