PostgreSQL 备份数据库 + crontab实现定期备份

创建 /root/auto_backup.sh 文件,并为 /root/auto_backup.sh 文件赋予可执行权限:

cd /root
touch auto_backup.sh
chmod +x auto_backup.sh

备份指定的数据库(示例为:test_db数据库)到 /root/auto_backup_test_db.sql 文件:

# 将以下内容复制到  /root/auto_backup.sh 中,并保存:
pg_dump "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=123456 dbname=test_db" > /root/auto_backup_test_db.sql

vim /root/auto_backup.sh

使用 crontab 添加定时任务,在终端输入以下命令:

crontab -e

在crontab -e显示的文件中添加以下内容(单独占一行),实现每天3点时热备份(不影响用户正常使用)数据库:

0 3 * * * /root/auto_backup.sh

恢复数据库备份:

psql -h localhost -U postgres -d test_db <  /root/auto_backup_test_db.sql

参考文章:
PostgreSQL 9.3.1 中文手册 – pg_dump
crontab 执行周期性的定时任务
postgresql数据库–psql、pg_dump命令带密码执行sql语句
PostgreSQL数据库pg_dump命令行不输入密码的方法
postgresql数据库备份和恢复

    原文作者:FicowShen
    原文地址: https://www.jianshu.com/p/9f0bb1a42a1b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞