PostgreSQL定时备份策略
::适用于windows系统
:://///////////////////////////////////////////////////////////////////////////
::在pg服务器上创建备份脚本bakup.bat,以pg数据库为例
::然后在windows控制面板|管理工具|任务计划程序,创建定时备份任务
@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
::pg_dump命令需要密码时自动调用
set PGPASSWORD=postgres
::盘符后面两个\报错就使用一个\
SET PGPATH=D:\\Software\PostgreSQL\9.6\bin\
SET SVPATH=D:\\pgbak\
SET PRJDB=postgres
SET PRJDB2=common
::设置文件名称中时间,如2022-05-27
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
::FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('TIME /T') DO SET t=%%i-%%j-%%k
SET DBDUMP=%PRJDB%_%d%.bak
SET DBDUMP2=%PRJDB2%_%d%.bak
@ECHO OFF
pg_dump -h localhost -U postgres --format=c -n public %PRJDB% > %SVPATH%%DBDUMP%
pg_dump -h localhost -U postgres --format=c %PRJDB2% > %SVPATH%%DBDUMP2%
echo Backup Taken Complete %SVPATH%%DBDUMP%
::自动删除30天以前的备份文件,@file文件名称,@path文件全路径
forfiles /p %SVPATH% /d -30 /c "cmd /c echo deleting @file ... && del /f @path"
:://///////////////////////////////////////////////////////////////////////////
::在pg服务器上创建定时拷贝文件到远程共享目录脚本bak_to_z .bat
::远程电脑共享文件夹,在pg服务器上右键映射网络驱动器为z盘符
::然后在windows控制面板|管理工具|任务计划程序,创建定时拷贝任务
xcopy /s/e/d "D:\pgbak\*.*" "Z:\"
:://///////////////////////////////////////////////////////////////////////////
::远程电脑创建定时删除30天前文件脚本delelte_pgbak.bat
::然后在windows控制面板|管理工具|任务计划程序,创建定时删除任务
forfiles /p "D:\pgbak" /d -30 /c "cmd /c echo deleting @file ... && del /f @path"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?