PostgreSQL 自动备份,并删除10天前的备份文件的windows脚本.
第一步,创建脚本,命名back.bat文件
@ECHO OFF @setlocal enableextensions @cd /d "%~dp0" set PGPASSWORD=passwordSET PGPATH=D:\postgresql\bin\SET SVPATH=d:\zoobackup\SET PRJDB=gzzooSET DBUSR=postgresFOR /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用户名
第二步设置定时任务 参考
第二步 恢复
cmd 然后进入postgresql的bin目录
执行
psql -h localhost -U username -d database < d:/data.bak