微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL自动备份的批处理文件

貌似没有sqlServer那样比较强大的自动备份功能,只能够做成批处理文件,然后加到windows的计划任务中。

@ECHO OFF
echo 正在初始化环境变量. . .
echo.
:: 对于路径中有空格的路径字符串,需要加上英文双引号包裹!否则就会出现命令错误!
set POSTGREsql_DIR="D:\Postgresql\9.2\bin\"
:: 数据库管理系统名
set DBMS_NAME=Postgresql
set DBBAK_DIR="F:\"
set DB_NAME=Test
set USER="postgres"
:: Postgresql的pg_dump命令行工具没有带密码的参数,但是可以设置一个PGPASSWORD的环境变量来提供密码
set PGPASSWORD=123456
echo 正在备份数据库. . .
echo.
:: 以下是获得当前系统时间的命令,e.g. 20120503101305
:: 年
set myyy=%date:~0,4%
:: 月
set mymm=%date:~5,2%
:: 日
set mydd=%date:~8,2%
::echo %myyy% %mymm% %mydd%
set /a TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
set _TIME=%time:~0,8%
::echo %_TIME%
set CURRENTTIME=%_time::=%
set CURRENTTIME=%CURRENTTIME: =0%
set MYDATETIME=%TODAY%%CURRENTTIME%
::echo %MYDATETIME%
D:
cd %POSTGREsql_DIR%
:: 使用Postgresql提供的pg_dump命令将具体数据库导出为.sql文件
pg_dump -h localhost -p 5432 -U %USER% %DB_NAME% >%DBBAK_DIR%\%DB_NAME%_%MYDATETIME%_%DBMS_NAME%.sql
echo 备份结束
echo.
exit
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐