Страницы

Поиск по вопросам

среда, 1 января 2020 г.

Как на Linux (Debian/Ubuntu) настроить автоматические BackUp БД Postgresql

#linux #ubuntu #postgresql #cron #crontab


Дано:

Установлен Postgresql. В нём есть БД.

Задача:

По расписанию делать бэкап.

Вопрос:

Как это сделать на Linux силами ОС?
    


Ответы

Ответ 1



Создаём папки для бэкапов и логов: /data/dbBackup/myDbName/logs силами ftp клиента или вручную, через консоль. Устанавливаем редактор текстовых файлов nano, если его нет в системе: apt-get install nano Запускаем crontab программу для редактирования списка задач cron-а, используя nano: EDITOR=nano crontab -e Создаём задачу для cron путём добавления команды к исполнению по расписанию. В данном случае - раз в минуту. /usr/bin/pg_dump - путь к метоположению программы pg_dump, которая, собственно и делает бэкап. myDbName - имя базы данных для которой надо сделать бэкап. >> /d ata/dbBackup/myDbName/logs/dbBackup.log 2>&1 - нужно для получения логов выполнения задачи. Например, если у вас нет каких-то прав, папки не созданы, пароль к БД у юзера, запускающего программу бэкапов неверен или ещё что - сообщение об ошибке запишется в файл /d ata/dbBackup/myDbName/logs/dbBackup.log. $(date +\%Y-\%m-\%d-\%H-\%M-\%S) - нужно для создания файла, в имени которого будет дата его создания. * * * * * /usr/bin/pg_dump -U postgres -h localhost -w -c -f /data/dbBackup/myDbName/myDbName_$(date +\%Y-\%m-\%d-\%H-\%M-\%S).sql myDbName >> /data/dbBackup/myDbName/logs/dbBackup.log 2>&1 Чтобы сохранить изменения в crontab надо: Ctrl+X чтобы выйти, Y чтобы подтвердить сохранение изменений, Enter чтобы подтвердить в какой файл сохранить. Чтобы следить в реальном времени за запуском задач cron-а: tail -f /var/log/syslog | grep CRON

Комментариев нет:

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