操作系统:windows server 2012 r2
数据库:PostGreSQL9.3
目的需求:数据库本身没有自动备份的功能,现在觉得最简单的实现方式就是利用windows的任务计划程序来每天定时的执行脚本来备份数据库。
一、windows 任务计划程序
1.
2.
3.
4.
5.
6.
7.
8.
9.
(可√可不√)
10.
**11.**出现结果:
完成以上步骤,windows计划任务完成。
二、改装后正常运行行的bat脚本文件
@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
SET PGPATH=C:\"Program Files"\PostgreSQL\9.3\bin\pg_dump
SET SVPATH=E:\
SET PRJDB=BaoShan
SET DBUSR=postgres
SET DBROLE=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k
SET DBDUMP=%PRJDB%_%d%_%t%.backup
@ECHO OFF
%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f %SVPATH%%DBDUMP% %PRJDB%
echo Backup Taken Complete %SVPATH%%DBDUMP%
pause
SET SVPATH=E:\ 表示文件存放路径
SET PRJDB=BaoShan 表示要备份的数据库名称
%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f %SVPATH%%DBDUMP% %PRJDB% 表示本机执行
三、执行的结果:
(参考:https://blog.youkuaiyun.com/qian_meng/article/details/51356131)