在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-数据库用户名
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下