Вопросы:Автоматизация процесса резервирования БД: различия между версиями

Материал из Юпитер-8
Новая страница: «=Создание резервной копии БД в ОС Windows= ==Создание резервной копии с использованием командного файла== 1. Создайте командный файл 1.1. Создайте и откройте текстовый документ. В меню файл выберите '''Сохранить как''' 300px|border| 1.2 В диалого...»
 
Нет описания правки
Строка 82: Строка 82:
<br clear="both" />
<br clear="both" />
[[#top|В начало статьи]]
[[#top|В начало статьи]]
== ==
==Добавление командного файла в планировщик заданий==
1. Для автоматического запуска командного файла в нужное время, необходимо запустить Планировщик заданий (Пуск-Программы-Стандартные-Служебные-Планировщик Заданий)
 
Или запустить планировщик заданий Windows из окна «Выполнить»:
 
[[Изображение:Win_cmd_6.png|400px|border|]]
 
Нажмите клавиши '''Windows + R''' на клавиатуре<br>
В появившемся окне введите <code>taskschd.msc</code><br>
Нажмите '''Ok''' или '''Enter'''
 
2. Выбираем пункт «'''Создать простую задачу'''»
 
[[Изображение:Win_cmd_7.png|700px|border|]]
 
3. '''Вводим Имя''' задачи и нажимаем '''Далее'''
 
[[Изображение:Win_cmd_8.png|700px|border|]]
 
4. Выбираем '''как часто''' запускать задачу и нажимаем '''Далее'''
 
[[Изображение:Win_cmd_9.png|700px|border|]]
 
5. Укажите '''время''' выполнения задания. Время выполнения необходимо выбирать исходя из минимальной активности объектов и минимальной загруженности серверного компьютера.<br>
Обычно это ночное время с 1.00 до 5.00 утра.<br>
Укажите '''как часто''' его необходимо выполнять<br>
Нажмите '''Далее'''
 
[[Изображение:Win_cmd_10.png|700px|border|]]
 
6. '''Выбираем действие''' для задачи и нажимаем '''Далее'''
 
[[Изображение:Win_cmd_11.png|700px|border|]]
 
7. '''Выберите командный файл''' резервирования созданный ранее, нажав кнопку '''Обзор''', после чего нажимаем '''Далее'''
 
[[Изображение:Win_cmd_12.png|700px|border|]]
 
8. '''Установите флажок''' и нажмите '''Готово'''
 
[[Изображение:Win_cmd_13.png|700px|border|]]
 
9. Установить флажок '''Выполнять только для зарегистрированного пользователя''' и '''Выполнять с наивысшими правами'''
 
[[Изображение:Win_cmd_14.png|700px|border|]]
 
10. Перейти во складку '''Условия''' и убрать галочку '''Запускать только при питании от электросети'''
 
[[Изображение:Win_cmd_15.png|700px|border|]]
 
11. Нажать '''ОК'''
 
<br clear="both" />
<br clear="both" />
[[#top|В начало статьи]]
[[#top|В начало статьи]]
== ==
== ==
<br clear="both" />
<br clear="both" />
[[#top|В начало статьи]]
[[#top|В начало статьи]]

Версия от 15:47, 25 августа 2022

Создание резервной копии БД в ОС Windows

Создание резервной копии с использованием командного файла

1. Создайте командный файл

1.1. Создайте и откройте текстовый документ. В меню файл выберите Сохранить как

1.2 В диалоговом окне Сохранить как укажите имя файла и расширение bat (Например start_backup.bat). Нажмите Сохранить

1.3 В результате получится командный файл с расширением bat

2. Откройте файл для редактирования

3. Добавьте в командный файл следующий текст:

REM Пример создание резервной копии базы данных POSTGRESQL
CLS
ECHO OFF
Chcp 65001
REM Установка переменных окружения
SET PGBIN=C:\PostgreSQL\9.6\bin
SET PGDATABASE=jupiter
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=postgres
REM Смена диска и переход в папку из которой запущен bat-файл
%~d0
CD %~dp0
REM Формирование имени файла резервной копии и файла-отчета
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET DUMPFILE=%PGDATABASE% %DATETIME%.backup
SET LOGFILE=%PGDATABASE% %DATETIME%.log
SET DUMPPATH="Backup\%DUMPFILE%"
SET LOGPATH="Backup\%LOGFILE%"
REM Создание резервной копии
IF NOT EXIST Backup MD Backup
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%
REM Анализ кода завершения
IF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull
REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале
:Error
DEL %DUMPPATH%
MSG * "Error. See backup.log."
ECHO %DATETIME% Error backup postgresql %DUMPFILE%. See %LOGFILE%. >> backup.log
GOTO End
REM В случае удачного резервного копирования просто делается запись в журнал
:Successfull
ECHO %DATETIME% OK backup %DUMPFILE% >> backup.log
GOTO End
:End

SET PGBIN=C:\PostgreSQL\9.6\bin - указывается путь к pg_dump
SET PGDATABASE=jupiter - название базы данных
SET PGHOST=localhost - расположение базы данных
SET PGPORT=5432 - порт для подключения к базе
SET PGUSER=postgres - имя пользователя
SET PGPASSWORD=postgres - пароль для данной базы данных
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% - задание имени backup (содержит имя, дату и время создания backup)
SET DUMPFILE=%PGDATABASE% %DATETIME%.backup - расширение файла backup
SET LOGFILE=%PGDATABASE% %DATETIME%.log - запись лога (что копировалось)
SET DUMPPATH="Backup\%DUMPFILE%" - указывается путь, куда сохранить backup базы данных
SET LOGPATH="Backup\%LOGFILE%" - указывается путь, куда сохранить лог файл
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH% - настройка метода сжатия базы данных при backup
--format=custom - вывести копию в архивном формате
--verbose - включить подробный режим. pg_dump будет выводить в стандартный поток ошибок подробные комментарии к объектам, включая время начала и окончания выгрузки, а также сообщения о прогрессе выполнения
--file=%DUMPPATH% 2>%LOGPATH% - отправить вывод в указанный файл
ECHO %DATETIME% OK backup %DUMPFILE% >> backup.log - дописывает данные в существующий файл. Таким образом можно вести журнал с подробными сведениями о результатах резервного копирования

4. Сохраните файл
Таким образом командный файл создан и после его исполнения, будет сохраняться резервная копия схемы данных, в указанную папку


В начало статьи

Добавление командного файла в планировщик заданий

1. Для автоматического запуска командного файла в нужное время, необходимо запустить Планировщик заданий (Пуск-Программы-Стандартные-Служебные-Планировщик Заданий)

Или запустить планировщик заданий Windows из окна «Выполнить»:

Нажмите клавиши Windows + R на клавиатуре
В появившемся окне введите taskschd.msc
Нажмите Ok или Enter

2. Выбираем пункт «Создать простую задачу»

3. Вводим Имя задачи и нажимаем Далее

4. Выбираем как часто запускать задачу и нажимаем Далее

5. Укажите время выполнения задания. Время выполнения необходимо выбирать исходя из минимальной активности объектов и минимальной загруженности серверного компьютера.
Обычно это ночное время с 1.00 до 5.00 утра.
Укажите как часто его необходимо выполнять
Нажмите Далее

6. Выбираем действие для задачи и нажимаем Далее

7. Выберите командный файл резервирования созданный ранее, нажав кнопку Обзор, после чего нажимаем Далее

8. Установите флажок и нажмите Готово

9. Установить флажок Выполнять только для зарегистрированного пользователя и Выполнять с наивысшими правами

10. Перейти во складку Условия и убрать галочку Запускать только при питании от электросети

11. Нажать ОК


В начало статьи


В начало статьи