【问题标题】:Postgresql backup cron job using the script from the wiki使用 wiki 中的脚本的 Postgresql 备份 cron 作业
【发布时间】:2021-05-28 22:41:18
【问题描述】:

我正在尝试使用来自 posgresql wiki 的脚本:https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux 作为 cronjob 中的自动化解决方案。我的主要问题是脚本要求输入密码。因此自动化是不可能的。

我在多个地方读到您可以创建一个“.pgpass”来解决所有问题。所以我创建了包含此信息的文件:

# file: .pgpass
# hostname:port:database:username:password
localhost:5432:DB:postgres:"supersecretpassword"

并将权限更改为 0600 (chmod 0600 /.pgpass)。

但它根本没有改变结果我将它放在几个没有成功的地方(根目录,脚本文件夹,...)

我的第二个问题是我想使用整个脚本备份具有多个每日和每周备份的所有内容,据我所知,这仅允许将密码用于单个数据库 (DB)

【问题讨论】:

  • 您在哪个文件夹中创建了 .pgpass?你试过/home/user/.pgpass吗?
  • 您的数据库真的命名为“DB”吗?你得到什么错误?你能用密码连接psql吗?

标签: postgresql backup cron-task


【解决方案1】:

当然,我输入了正确的数据库名称和密码。但我想备份所有内容(使用脚本https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux) 我在 /home/ 中获得了一份 .pgpass 副本(/home/ 中没有子文件夹)和我现在获得脚本的文件夹中的一份副本 (/var/www/backup_scripts/)

如果我启动脚本它会询问我 3 次密码:

Performing globals backup
--------------------------------------------

Globals backup
Passwort:

Performing schema-only backups
--------------------------------------------

Passwort für Benutzer postgres:
Performing full backups
--------------------------------------------

Passwort für Benutzer postgres:

【讨论】:

    【解决方案2】:

    让我们假设我有 2 个 postgress 数据库,分别称为 blogDB 和 shopDB。 我想要的是一个名为备份用户的新用户,密码为:“supersecretpassword” 在 pg_backup.config 文件中设置为备份用户 和一个每天运行一次旋转脚本的 cronjob,这样我的数据库备份就不会填满我的服务器磁盘空间。 我该怎么做。理想情况下,如果备份期间发生错误,我应该得到通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 2016-11-07
      • 2012-07-02
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多