在Windows下自动备份PostgreSQL的教程
背景
在我工作上一个使用PostgreSQL数据库的项目上需要一个自动化系统来每天执行备份。经过一番研究决定通过创建一个Windows批处理文件并添加到Windows计划任务中来实现。
下面是具体步骤:
怎样配置
第一步:
下载批处理文件。
第二步:
你可以通过一个简单的命令(schtasks/?查看帮助)或者使用图形界面(开始-控制面板-系统和安全-管理工具-任务计划程序)运行任务计划管理工具,还可以在%SYSTEMROOT%\System32目录下双击Taskschd.msc来启动它。
第三步:
你可以通过向导或通过XML文件导入信息来创建基本任务。向导方式创建方法见任务计划程序帮助,下面介绍下命令行语法:
schtasks/Create[/S<system>[/U<username>[/P[<password>]]]]
[/RU<username>[/RP<password>]]/SC<schedule>[/MO<modifier>][/D<day>]
[/M<months>][/I<idletime>]/TN<taskname>/TR<taskrun>[/ST<starttime>]
[/RI<interval>][{/ET<endtime>|/DU<duration>}[/K][/XML<xmlfile>][/V1]]
[/SD<startdate>][/ED<enddate>][/IT][/Z][/F]
查看此命令帮助:
schtasks/Create/?
如果在Windows防火墙中远程任务计划管理被禁用而文件和打印共享被启用并且远程注册表服务正在运行,远程计算机上将会被创建一个V1任务即使没有使用参数V1。参数V1表明一个任务对下层系统可见。
使用代码
脚本:
<ahref="http://my.oschina.net/echolee1987"target="_blank"rel="nofollow">@ECHO</a>OFF
@setlocalenableextensions<ahref="http://my.oschina.net/duini"target="_blank"rel="nofollow">@cd</a>/d"%~dp0"
SETPGPATH=C:\"ProgramFiles"\PostgreSQL\9.1\bin\
SETSVPATH=f:\
SETPRJDB=demo
SETDBUSR=postgres
FOR/F"TOKENS=1,2,3DELIMS=/"%%iIN('DATE/T')DOSETd=%%i-%%j-%%k
FOR/F"TOKENS=1,2,3DELIMS=:"%%iIN('TIME/T')DOSETt=%%i%%j%%k
SETDBDUMP=%PRJDB%_%d%_%t%.sql<ahref="http://my.oschina.net/echolee1987"target="_blank"rel="nofollow">@ECHO</a>OFF
%PGPATH%pg_dump-hlocalhost-p5432-Upostgres%PRJDB%>%SVPATH%%DBDUMP%
echoBackupTakenComplete%SVPATH%%DBDUMP%
初始值
- PGPATH-PostgreSQL路径
- SVPATH-备份文件路径
- PRJDB-要备份的数据库名
- DBUSR-数据库用户名
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短