pg_dumpall不交互输入密码,定时备份全量数据库

该博客介绍了如何设置PostgreSQL的定时全量备份,通过创建配置文件存放密码,确保pg_dump和pg_dumpall命令在执行时不需交互输入密码。备份脚本包括创建备份目录,设置权限,并在每天执行一次全量备份,同时清理10天前的旧备份文件。此方法提高了数据库备份的自动化和安全性。
摘要由CSDN通过智能技术生成

定时备份postgres全量数据库

本方法首先要先解决pg_dump和pg_dumoall命令在执行过程中不交互输入密码

pg_dump命令行不输入密码的方法
  • 在用户家目录下创建一个配置文件,提前将密码写入到这个配置文件中,格式如下

    hostname:port:database:username:password
    
    eg:
    192.168.88.100:5432:*:admin:FrB3aZnNAHf0K@7
    
  • 需要将此文件放在postgres用户目录下,保存成.pgpass文件,并且权限为600

    su - postgres  ## 切换postgres用户
    
    ## 根据自己实际IP,端口,用户名密码写入配置文件
    echo "192.168.88.100:5432:*:admin:FrB3aZnNAHf0K@7" > .pgpass
    
    chmod 600 .pgpass       ## 修改权限
    
    ## 创建备份目录,根据自己实际情况,选择磁盘空间大的目录
    mkdir /data1/pgdata_bak
    
    ## 修改目录权限
    chown postgres.postgres /data1/pgdata_bak
    
全量备份并且保留10天
#!/bin/bash

su - postgres -c "/usr/local/pgsql/bin/pg_dumpall -h 10.153.11.84 -U admin -p 5432 > /data1/pgdata_bak/all_databases-`date +%Y-%m-%d-%H-%-M-%S`.sql"

sleep 60

## 查看备份目录下10天之前的文件,并删除
find /data1/pgdata_bak/*.sql -mtime +10 -exec rm {} \;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值