分享免费的编程资源和教程

网站首页 > 技术教程 正文

达芬奇数据库自动备份-关键时刻显身手

goqiw 2024-09-08 17:14:21 技术教程 12 ℃ 0 评论

在我们建立好PostgreSQL数据库之后,除了可以实现协同工作以外,还可以额外解锁一个自动备份数据库的新功能,

要实现自动备份,只需两步:

  1. 通过命令实现数据库的备份

  2. 自定计划根据需求定期执行

对于

·第一步

我们可以利用PostgreSQL自带的备份功能实现。在Win下PostgreSQL可以用命令行实现各个功能,当然你也可以通过GUI用户界面来更方便地实现。因此大家只需要get到一个编写好的批处理即可快速搞定

@ECHO OFF

@setlocal enableextensions

@cd /d "%~dp0"

SET PGPATH=C:\"Program Files"\PostgreSQL\9.5\bin\pg_dump

SET SVPATH=D:\db_autobackup\

SET PRJDB=Project_name

SET DBUSR=postgres

SET DBROLE=postgres

SET PGPASSWORD=DaVinci

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%

pause

将上文复制到一个txt文档保存后修改后缀名为.bat即可

不过有了文件也不是说就可以全自动搞定备份了,还需要我们指定需要备份的数据库、提供账号密码等信息

Well,我们先修改一下 .bat

请找到以下几个值,大家根据实际情况自行修改

  • PGPATH - PostgreSQL所在路径,如果安装时选择了其他的路径就需要修改,否则请保持默认

  • SVPATH - 备份文件存放路径

  • PRJDB - 要备份的数据库名称

  • DBUSR - 数据库用户名

  • DBROLE - 成员,默认就是【postgres】

  • PGPASSWORD - 密码,也就是上一篇我所建议的【DaVinci】

经验丰富的你应该知道了,这个时候数据库名称最好还是不带中文

填写路径的时候,若包含空格,也请使用引号将其包裹,例如

"Program Files"

编辑完成即可保存,退出

然后就是双击打开测试看能不能备份啦

请确保备份的文件是一个.backup文件

#敲黑板#

在批处理文件可以顺利运转后我们就来实现

·第二步

Windows为我们提供了计划任务这一好玩实用的工具,我们这就利用它来实现定期执行批处理文件

打开 任务计划程序

右侧面板 创建基本任务

设定频率,大家各自根据需要调整即可

最后来选择我们要执行的批处理文件,保存

就搞定了

所以这么一来每当到了我们设定的时间或条件,就会自动打开批处理文件,然后备份文件也根据当前时间命名保存到指定目录。这之后基本上就可以把它丢一边不管啦

不过既然我们都不用管它,为了保证这一系列步骤可以毫无打扰地执行,我们可以根据需要进行优化

  • 编辑批处理文件,将最后一行的【pasue】改为【exit】,这样每次执行的时候可以自动关闭命令窗口,而不是停留在 按下任意键继续 。尽量不会打扰当前的工作

  • 批处理文件存放到一个不容易接触到的位置保证其安全,不会被手残误删或者移动位置等等。同时可以将其隐藏,关闭隐藏文件显示的时候更加清爽

  • 备份所在的文件夹同理。记得定期清理太久远的备份以免占用太多的空间

  • 推荐配合网盘备份备份文件,加入双保险。比如某盘会员还可以自动更新指定文件夹

·最后

备份已经完成,那么万一哪天中招需要恢复?

那就有请Davinci Resolve 14.1带给我们的新朋友

Davinci Resolve Project Server

有了它的出现,恢复备份将可以在Project Server中执行,直接绕过大象(PostgreSQL GUI 管理界面 pgAdminIII)来进行管理。同时还为我们提供更有针对性的项目管理功能。

使用很简单。双击打开,和项目管理器类似的,点击 Restore 即可通过 .backup 文件进行恢复

Fin

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表