Створення бекапа бази postgresql для windows

Вміст bat-файлу наступне:

Довідкову інформацію про командах, іспульзуемих в цьому файлі можна отримати з командного рядка набравши наступну команду: "[Ім'я команди] /?"
Багато використані тут команди досить поширені і відомі, тому хочеться акцентувати увагу на кількох менш відомих.

Рядки 15, 16 виконують перехід в папку в якій знаходиться файл "backup.bat". "% 0" повертає ім'я bat-файлу; "%

dp0 "повертають відповідно диск і шлях до bat-файлу. Докладні відомості про роботу з параметрами файлу можна подивитися за цим посиланням.

У рядку 19 формується строкове представлення дати і часу в потрібному форматі. При формуванні відбувається звернення до змінних оточення DATE і TIME, які зберігають текстове представлення дати і часу відповідно. Після імені змінної вказується рядок виду ":

m, n ", де m - позиція в рядку, n - кількість символів.

У рядку 27 викликається утиліта резервного копіювання pg_dump.exe. Виклик виконується із застосуванням команди CALL, це дозволяє дочекатися завершення утиліти і проаналізувати результат виконання. Виклик утиліти завершується рядком "2>% LOGPATH%". Цей рядок означає що потік помилок STDERR, номер якого 2, додатки pg_dump.exe перенаправляється в файл, ім'я якого збережено в змінній оточення LOGPATH. Так як додаток pg_dump.exe виводить всі повідомлення в стандартний потік помилок, то у файлі LOGPATH буде збережений докладний звіт про виконання резервного копіювання.

У рядках 37 і 42 виконується перенаправлення виведення в файл backup.log. Перенаправлення здійснюється оператором ">>". Різниця між операторами ">" і ">>" в тому, що перший щоразу створює новий файл, затираючи раніше записані дані, а другий - дописує дані в існуючий файл. Таким чином можна вести журнал з докладними відомостями про результати резервного копіювання.

Перевіряємо як працює bat-файл. Якщо дампи бази створюються, то можна приступати до створення завдання для планувальника завдань Windows.
Створюємо завдання, яке буде запускати bat-файл кожен день в нічний час.

Щоденні бекапи згодом лягли в основу проблему вільного простору на жорсткому диску. Можна чистити ручками, але краще вже автоматизацію зробити повною. Вирішується це питання також створенням bat-файлу і завдання в планувальнику завдань Windows.

Вміст bat-файлу таке:

Тут вказана команда при виконанні якої будуть видалятися файли старше 5 днів.
У планувальнику завдань можна створити завдання на виконання цього bat-файлу раз в тиждень.

Схожі статті