PostgreSQL 自动备份,并删除10天前的备份文件的windows脚本

原文地址:http://www.cnblogs.com/longsanshi/p/9490823.html

第一步,创建脚本,命名back.bat文件

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
 
set PGPASSWORD=password
SET PGPATH=D:\postgresql\bin\
SET SVPATH=d:\zoobackup\
SET PRJDB=gzzoo
SET DBUSR=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
 
SET DBDUMP=%PRJDB%_%d%.bak
@ECHO OFF
%PGPATH%pg_dump -h localhost -U postgres %PRJDB% > %SVPATH%%DBDUMP%

echo Backup Taken Complete %SVPATH%%DBDUMP%

forfiles /p %SVPATH% /d -5 /c "cmd /c echo deleting @file ... && del /f @path"

其中:PGPASSWORD密码,PGPATH 数据库路径,SVPATH备份文件存放位置,PRJDB数据库名称,DBUSR用户名

第二步设置定时任务 参考

https://www.cnblogs.com/franknihao/p/7120851.html

第二步 恢复

cmd 然后进入postgresql的bin目录

执行

psql -h localhost -U username -d database < d:/data.bak

猜你喜欢

转载自blog.csdn.net/cn_yaojin/article/details/82781621