PostgreSQL 每天定时备份本机数据库脚本

PostgreSQL 每天定时备份本机数据库脚本


一般后端开发时,有可能因为各种各样的原因造成 最新 数据库 丢失 的问题,假如又刚好忘记了备份,那内心是相当绝望的。

所以,数据库的自动备份必须的,比较好的办法可以借助语言的框架系统进行备份,比如利用 TP5 框架针对 MYSQL 数据库的备份。

这里则主要可以利用系统自带的 定时任务 做一个每天定时自动备份的脚本,这种方法属于比较 古老 的了,也只是针对本机。

环境: win10
数据库: PostgreSQL

思路:利用 .vbs 文件(这是隐藏执行文件,一般会跳出临时窗口,他将打印执行信息,完成之后自动消失)指向 .bat 文件,再利用 windows系统的定时任务 即可。

.bat 文件代码如下:

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
SET PGPATH=D:\"Program Files (x86)"\PostgreSQL\9.5\bin\pg_dump
SET SVPATH=D:\Program Files (x86)\PostgreSQL\Auto_Backup\
for %%x in ("%SVPATH%") do set SVPATH=%%~sx
SET PRJDB=test
SET DBUSR=postgres
SET DBROLE=postgres
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%_%t%.backup
@ECHO OFF
%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f "%SVPATH%%DBDUMP%" %PRJDB% 
echo Backup Taken Complete %SVPATH%%DBDUMP%

.vbs 文件代码如下,真正执行自动备份功能的文件还是 .bat 文件,它只是指向了执行 .bat 文件的路径而已:

set ws=WScript.CreateObject("WScript.Shell")
ws.Run """D:\Program Files (x86)\PostgreSQL\automatic_backup.bat""",0

.bat 文件名称: automatic_backup.bat
.vbs 文件名称: automatic_backup.vbs

文件名称包括保存路径都应当根据实际情况来配置。

注意 :路径下需要的文件夹应当先创建

一般情况下,如果你想自动完全隐藏,定时任务指向 .vbs 文件路径,否则指向 .bat 文件,bat 文件会将窗口保留不会自动消失,直至你本人手动关闭。所以一般使用 vbs 文件。

文件结构一览:
pgsql自动备份文件
Auto_Backup 目录下存放的就是备份文件:
备份文件
系统定时任务网上有很多,这里就不阐述了,我这里是每天下午 4 时进行一次备份:
定时任务自动备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值