Рейтинг:1

Резервное копирование docker postgres создает пустой файл при запуске в качестве задания cron

флаг in

Я пытаюсь создать cronjob, который каждую ночь создает резервные копии БД.

У моего crontab есть работа: * * * * * /home/user/scripts/backup.sh (установите его на отключение каждую минуту для тестирования)

В backup.sh у меня есть:

docker exec -it dbContainer pg_dump -U имя пользователя -d dbName > /home/user/backups/testingBackup.sql

Файл всегда пуст:

-rw-rw-r-- 1 пользователь пользователь 0 14 июля 08:39 testingBackup.sql

Однако, если я запущу файл самостоятельно и наберу команду /home/пользователь/скрипты/backup.sh, это не пусто:

-rw-rw-r-- 1 пользователь пользователь 30813 14 июля 08:45 testingBackup.sql

Я чувствую, что в разрешениях что-то не так, но все делается от «пользователя». Я ничего не делал из-под root, например sudo crontab... sudo /home/user/backups/testingBackup.sql и т. д.

Меня смущает, почему в одном сценарии результирующий файл пуст, а в другом - нет.

Спасибо за любую помощь

djdomi avatar
флаг za
как насчет #!/bin/bash в вашем скрипте? и вы можете добавить SHELL=/bin/bash в crontab
Ethan Solomon avatar
флаг in
извините за очень поздний ответ, полностью отвлекся, но ни один из них не помог :(
djdomi avatar
флаг za
пожалуйста, покажи мне текущее состояние
Ethan Solomon avatar
флаг in
файл sql, который создается... -rw-rw-r-- 1 пользователь пользователь 0 26 августа 14:14 testingBackup.sql хрон: ОБОЛОЧКА=/bin/bash 0 4 * * * /path/otherjob.sh * * * * * /путь/backup.sh резервный файл: #!/бин/баш /usr/bin/docker exec -it dbContainer pg_dump -U postgres -d db > path/testingBackup.sql
Ethan Solomon avatar
флаг in
но если я просто запущу: path/backup.sh, я получу: -rw-rw-r-- 1 пользователь пользователь 224622 26 августа 14:18 testingBackup.sql
Рейтинг:0
флаг in

для команды, которая у меня есть в файле sh: docker exec -it dbContainer pg_dump -U имя пользователя -d dbName > /home/user/backups/testingBackup.sql

Он работает в интерактивном режиме (-it). Если я удалю это, все будет работать (поэтому команда: docker exec dbContainer pg_dump -U имя пользователя -d имя_базы_данных > /home/user/backups/testingBackup.sql

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.