Резервное копирование PG

Пред.  Начало  След.

  Средствами ПК "Бюджет-СМАРТ" (см меню "Управление базами") создаются логические файлы резервных копий (текстовые файлы, содержат набор команд, выполнение которых восстанавливает содержимое базы данных).

 

Создание резервной копии

 

perform xp_pg_dump (v_DbName := '${dbname}', v_Path := '${backupdir}/${backupfilename}');  

 

 

команда резервного копирования для планировщика (PostGre развернут в ОС Linux)

do $bcp$

declare v_Result integer; v_ErrorMsg text; v_backup_info text; v_File text; v_TagName text; v_BackPath text; v_days text;

begin

-- Параметры скрипта ------------------------------------------------------------------------------------------------------------------------------------------------------

 v_TagName='budjet_22';                                          --Имя резервируемой базы данных PostgreSQL

 v_BackPath='/var/lib/pgsqlks-13.1_5434/backups/';    --Имя каталога, куда будет резервироваться база данных

 v_days=14;                                                             --Количество дней, в течение которых будет храниться резервная копия базы данных

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 select p.v_Result, p.v_ErrorMsg, p.v_backup_info, p.v_File 

   into v_Result, v_ErrorMsg, v_backup_info, v_File 

   from xp_pg_dump ( v_DbName := v_TagName 

                        ,v_Path   := v_BackPath||v_TagName||'/daily' 

                        ,v_File   := '@dbname_id_@timestamp_id.bak'

                        ) p;

 

  perform xp_cmdshell_1('find '||v_BackPath||v_TagName||'/daily/ -maxdepth 1 -mount -mtime +'||v_days||' -name "'||v_TagName||'_*" -execdir echo -e $(date +"%d.%m.%Y %H:%M:%S") "Планируем удалить в текущем каталоге старые файлы: {}." \; -delete -execdir echo -e $(date +"%d.%m.%Y %H:%M:%S") "Файл удален: {}.\n" \; | tee -a '||v_BackPath||v_TagName||'/daily/log.txt', 0);

end;

$bcp$

;