Хобрук: Ваш путь к мастерству в программировании

docker-compose: сброс базы данных postgres в задании cron не работает

Я написал скрипт для сброса базы данных с хост-компьютера:

#!/bin/bash
cd /mydir/
echo "Dumping database .."
/usr/local/bin/docker-compose exec pg-service pg_dump -U pg -d "MYDB" -f /var/lib/postgresql/dbback_ 2>&1 | tee -a /backup/backup.log
date=`date +%F_%Hh_%Mm`
mv pg_data/dbback_ /backup/dbback_$date.sql
cd /backup/
echo "compressing backup .."
tar -czvf dbback_$date.tar.gz  dbback_$date.sql
rm dbback_$date.sql

/var/lib/postgresql/ находится в MYDIR/pg_data/

при запуске сценария вручную он отлично выполняет задачу, но когда я создаю задание cron для сценария, он создает пустой файл tar.gz (команда docker-compose не выполняется)

50 22 * * * root /backup/backup.sh

какие-либо предложения!


Ответы:


1

Я решил проблему, используя docker вместо docker-compose и указав имя контейнера|id.

/usr/bin/docker exec -u root CONTAINER-NAME pg_dump -v -Fc -U pg -d "MY-DATABASE" -f /var/lib/postgresql/MYDB_BACKUP.dump
10.09.2020
Новые материалы

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

Обзор 20 основных и современных методов работы с массивами в JavaScript
Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

Да, но я чувствую необходимость указать, что это или не единственные два.
Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.

Получение стоковых обновлений с помощью Python
Для начинающего финансового аналитика Введение Описание: Этот проект Python создает скрипт для получения текущих обновлений акций с финансового веб-сайта Yahoo. Для этого проекта мы..