在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表明一个任务对下层系统可见。
使用代码
脚本:
<a href="http://my.oschina.net/echolee1987" target="_blank" rel="nofollow">@ECHO</a> OFF @setlocal enableextensions<a href="http://my.oschina.net/duini" target="_blank" rel="nofollow">@cd</a> /d "%~dp0" SET PGPATH=C:\"Program Files"\PostgreSQL\9.1\bin\ SET SVPATH=f:\ SET PRJDB=demo SET DBUSR=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%.sql<a href="http://my.oschina.net/echolee1987" target="_blank" rel="nofollow">@ECHO</a> OFF %PGPATH%pg_dump -h localhost -p 5432 -U postgres %PRJDB% > %SVPATH%%DBDUMP% echo Backup Taken Complete %SVPATH%%DBDUMP%
初始值
- PGPATH - PostgreSQL路径
- SVPATH - 备份文件路径
- PRJDB - 要备份的数据库名
- DBUSR - 数据库用户名
相关文章
Windows10用Navicat 定时备份报错80070057的问题解析
这篇文章主要介绍了Windows10用Navicat 定时备份报错80070057的问题,本文通过图文并茂的形式给大家分享问题所在原因及解决方案,需要的朋友可以参考下2023-10-10sql学习之CASE WHEN THEN ELSE END的用法
这篇文章主要介绍了sql学习之CASE WHEN THEN ELSE END的用法,需要的朋友可以参考下2014-06-06Win2003系统安装SQL Server2000后1433端口未开放的解释
这篇文章主要介绍了Win2003系统安装SQL Server2000后1433端口未开放的解释2007-02-02Select data from an Excel sheet in MSSQL
Select data from an Excel sheet in MSSQL...2007-06-06Navicat premium连接数据库出现:2003 Can''t connect to MySQL server o
这篇文章主要介绍了Navicat premium连接数据库出现:2003 - Can't connect to MySQL server on 'localhost' (10061 "Unknown error")的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11
最新评论