Postgresql 每日备份

joh*_*mon 3 postgresql backup

有没有什么简单的方法可以每天备份所有本地数据库(同一个 postgresql 服务器)?我找到了一些我可以使用的 bash 脚本,但对于这样的工作,它们似乎非常复杂。

有什么简单的建议吗?

小智 8

由于我的数据库相当小,我“作弊”并使用 logrotate 来做我的 postgresql 备份。在 /etc/logrotate.d/postgresql-backup 中是这样的:

/var/backups/postgresql-dump.sql {
        daily
        nomissingok
        rotate 30
        compress
        delaycompress
        ifempty
        create 640 root adm
        dateext
        postrotate
                /usr/bin/sudo -u postgres /usr/bin/pg_dumpall --clean > /var/backups/postgresql-dump.sql
        endscript
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个方便可用的完整转储,不超过一天,并自动压缩和旋转以前的转储。

显然,这不会扩展到更大的数据库,但就我的目的而言,它几乎是完美的。(我还使用 BackupPC 来处理包括本地 postgresql 备份在内的异地备份)