windows系统下postgresql的自动备份及维护的脚本

可达到指定备份维护及保留指定备份个数的目的,结合远程可达到远程备份的目的[@more@]@echo off rem 需指定变量 rem 指定pgsql用来备份的用户及密码,另一种方式是修改pg_hba.conf的认证方式等 set PGUSER=用户 set PGPASSWORD=密码 rem 指定备份保留个数 set inum=5 rem 指定备份数据库 set idb=webpos rem 备份前缀,避免误操作 set iprefix=webpos rem 备份目录,不建议有空格,避免不同软件都需测试 set back_dir=E:backtemp rem pg_dump.exe的绝对路径 set isql=D:PostgreSQLbinpg_dump.exe rem vacuumdb.exe的绝对路径 set vsql=D:PostgreSQLbinvacuumdb.exe rem 用7z压缩,此处指定7z.exe的绝对路径 set myzip=d:tools7-zip7z.exe rem 检查完整性 set ierr="0" set verr="0" set zerr="0" set derr="0" IF NOT EXIST "%isql%" set ierr="1" IF NOT EXIST "%vsql%" set verr="1" IF NOT EXIST "%myzip%" set zerr="1" IF NOT EXIST "%back_dir%" MKDIR "%back_dir%" IF NOT EXIST "%back_dir%" set derr="1" :dcheck IF %derr%=="0" goto icheck ECHO "%back_dir%" error!>>pgback.err goto end :icheck IF %ierr%=="0" goto vcheck ECHO "%isql%" error!>>pgback.err goto end :vcheck IF %verr%=="0" goto start ECHO "%vsql%" error!>>pgback.err goto end :zcheck IF %zerr%=="0" goto start ECHO "%myzip%" error!>>pgback.err goto end :start set date_str=%date:~0,4%%date:~5,2%%date:~8,2% if "%time:~0,1%"==" " (set time_str=0%time:~1,1%%time:~3,2%%time:~6,2%) ELSE (set time_str=%time:~0,2%%time:~3,2%%time:~6,2%) set dbback_file=%back_dir%%iprefix%_%date_str%_%time_str% rem pg备份 "%isql%" -i -h localhost -p5432 -F c -b -v -f "%dbback_file%.backup" %idb% rem pg数据维护 "%vsql%" -h localhost -p5432 -d %idb% -q rem 只保留指定个数备份,基本无必要压缩处理 For /F "SKIP=%inum%" %%i IN ('DIR "%back_dir%%iprefix%_*.backup" /B /TC /O-D') DO DEL "%back_dir%%%i" /Q rem "%myzip%" a -ptjjtDs -t7z "%dbback_file%.7z" "%dbback_file%.backup" -m0=BCJ -m1=LZMA:d=21 -ms -mmt rem For /F "SKIP=%inum%" %%i IN ('DIR "%back_dir%%iprefix%_*.7z" /B /TC /O-D') DO DEL "%back_dir%%%i" /Q rem del "%dbback_file%.backup" /Q :end rem 变量处理 set PGUSER= set PGPASSWORD= set inum= set iprefix= set back_dir= set isql= set vsql= set myzip= set date_str= set time_str= set dbback_file=

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7110/viewspace-1006862/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7110/viewspace-1006862/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值