#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
Комментариев нет:
Отправить комментарий