“数据未来·携手跨越” 云祺产品新版本发布暨全国巡展—武汉站 4月26日 星期五 14:00 云祺视频号准时直播
vinchin linked
delta 扫码预约直播,观看精彩内容!
closed
logo
关于我们

技术分享

技术分享 PostgreSQL 每天定时备份本机数据库脚本

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

2020-05-04


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 时进行一次备份:
云祺pgsql自动备份文件

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 容灾备份

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载