【问题标题】:Automating Postgres Database Backup at Midnight在午夜自动化 Postgres 数据库备份
【发布时间】:2023-02-23 12:21:05
【问题描述】:

我拥有云 VM,可以在 Windows 操作系统上运行基于数据库的 Web 应用程序。我正在寻找一种在每个午夜自动备份数据库的方法。 Postgres 似乎没有这个任务的自动调度程序。有什么方法可以让我们每天午夜自动备份数据库吗?

【问题讨论】:

  • 为 pg_dump 创建一个 cronjob
  • 先生,Cronjob 适用于 Linux,而我适用于 Windows。编辑问题以包括操作系统
  • 然后使用计划任务

标签: postgresql backup


【解决方案1】:

是的,用很少的搜索和来自 stackoverflow 的混合灵魂就知道了。这对我来说很快,所以为其他人制作了一个教程。

PostgreSQL 9.6 不提供任何自动数据库备份的内置功能。以下是自动化数据库备份的分步教程。

步骤 1. 登入进入您的数据库节点虚拟机。

步骤 2. 创建 pgpass.conf Pgpass.conf文件是包含数据库连接详细信息的文本文件。这必须手动创建。打开命令提示符并按给定顺序键入以下命令,或将它们放在 .BAT 或 .CMD 文件中并执行

CD %appdata%
MD postgresql
CD postgresql
Echo <host>:<port_number>:<db_name>:<password> >> pgpass.conf

%应用程序数据%- 是`C:Users<Windows_loggedin_user_ID>AppDataRoaming 下的目录

聚苯乙烯: 不要把上面的路径误认为是Postgresql的安装路径。

<主持人>- 主机名将是本地主机

<端口号>– 默认为 5432,否则使用为您的 Postgresql 配置的端口号

<数据库名称>是计划备份的数据库的名称

<密码>- 数据库访问密码。

很重要的一点:以上值需要分隔或分隔冒号 (:)如上所示。

在执行上述命令时,将在C:Users&lt;Windows_loggedin_user_ID&gt;AppDataRoaming创建pgpass.conf文件

步骤 3. 创建备份文件夹将保存所有备份文件的文件夹。

MD C:<backup_folder_name>  - Will Create a New Folder For ex MD C:RakyBackup
CD C:<backup_folder_name>  - Will Take control that New Folder (C:RakyBackup)

第 4 步。创建备份脚本。归档并命名为BackupScript.Bat

使用任何文本编辑器创建一个 .BAT 文件,并将以下脚本放入其中。

@echo off
Set backupPath= C:RakyBackup
REM Gets the Current System Date into Variable datetime
For /f %%a in (‘powershell –Command “Get-Date –format dd_MMM_yyyy_HHMM”’) do set datetime=%%a
REM Backsup the DB
<path>Postgresql<ver_num>inpg_dump -h localhost -p <5432> -U postgres -F c -b -v <db_name> > %backupPath%/DB-Backup_%datetime%h.sql

步骤 5. 创建时间表打开Windows 任务计划程序.将有三个垂直面板。左侧面板将显示任务计划库.在最右侧的面板上,选择创建基本任务。给一个名字和描述它在输入文本框中,然后单击下一步。在里面扳机, 选择日常的然后单击下一步。设置开始日期和时间.点击下一步。在里面行动,再次单击下一步。面板会提示程序/脚本.点击浏览然后选择C:RakyBackupBackupScript.Bat。单击下一步,然后单击结束.

就是这样。

每天在设定的时间,BackupScript.Bat将被触发并自动备份数据库。

【讨论】:

  • 您确定您使用的是 9.6 版吗?自 2021 年 11 月起停产
  • 是的先生。它是 9.6。将很快升级到最新版本。
猜你喜欢
  • 2022-10-05
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
相关资源
最近更新 更多