定时备份可以用window的计划任务来定时执行批处理。
@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
SET PGPATH=C:\"Program Files"\PostgreSQL\9.6\bin\pg_dump
::设置备份路径
SET SVPATH=D:\database_back\
SET PRJDB=databasename
SET DBUSR=username
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
SET DBDUMP=%PRJDB%_%d%.bak
@ECHO OFF
::设置密码
set PGPASSWORD=password
::执行数据库备份操作
%PGPATH% -w -h localhost -p 5432 -U %DBUSR% %PRJDB% > %SVPATH%%DBDUMP%
echo Backup Taken Complete %SVPATH%%DBDUMP%
::删除SVPATH目录下100天之前的文件
forfiles /p %SVPATH% /d -100 /c "cmd /c del @FILE"
pause