PostgreSQL全量备份与增量备份命令与脚本(包含数据库安装在docker)

PostgreSQL全量备份与增量备份命令与脚本(包含数据库安装在docker)

全量示例:
pg_dump -Fc -h 113.57.121.225 -p 5432 -U postgres test > /opt/backup_linux/db_data/pgsql.bak;
执行条件
1.有PostgreSQL环境,在数据库本机执行不用多说数据库自带命令。如果是备份远程数据库,只需要在对应执行环境安装PostgreSQL_client  即可
2.列如上面命令指向的地址/opt/backup_linux/db_data,需要提前创建对应目录,并给予权限
**chmod 777 -R /opt/backup_linux/db_data**
3.如果数据库安装在docker中 只需要在备份命令前面加上docker exec -i pgsql /bin/bash 即可

全量脚本

#!/bin/bash
echo "开始执行 PostgreSql 数据库postgres的备份!-----liunx版本"
#密码配置到临时环境变量中就不需要输入密码了,pg_dump 命令是没有密码参数的
export PGPASSWORD="123456"
chmod 777 -R /opt/backup_linux 
echo "backup ing -------------------"
nowtime=$(date +%F)
# 文件名称
FILENAME=$4.bak
#入参

ip=$1
post=$2
d=$3

pg_dump -Fc -h $ip -p $post -U postgres $d  > /opt/backup_linux/db_data/$FILENAME
echo "backup end -------------------"
echo "生成文件 $FILENAME"
echo "数据库备份结束!"
exit;

执行命令
在这里插入图片描述
在这里插入图片描述
可以看到已经生成对应的文件,这样就完成了全量备份

增量备份:

docker inspect postgres /如果安装在宿主机直接找到安装目录的配置即可

在这里插入图片描述
获取挂载目录,修改postgresql.conf配置文件

开启归档模式
在这里插入图片描述
开启后重启服务
查看是否启动wal归档 on为开启 off关闭
show archive_mode;
在这里插入图片描述
手动触发开档:
10.0前
select pg_switch_xlog()
10.0后
select pg_switch_wal()

在这里插入图片描述
查看生成,可以看到已经生成对应的记录

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是一种开源的关系型数据库管理系统,其默认的超级用户为"postgres"。要进行远程全量备份使用的是pg_dump命令,这是一个用于备份整个数据库或者特定数据库对象的工具。下面是一个针对postgres数据库的root用户名远程全量备份脚本的示例: ```bash #!/bin/bash # 定义备份相关的变量 DB_HOST="远程主机IP" DB_PORT="远程主机端口" DB_USER="postgres" DB_NAME="要备份数据库名" BACKUP_DIR="/备份文件保存路径" BACKUP_NAME="备份文件名_$(date +%Y%m%d%H%M%S).sql" # 使用pg_dump进行全量备份 pg_dump -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -F p -f "$BACKUP_DIR/$BACKUP_NAME" # 确认备份是否成功 if [ $? -eq 0 ]; then echo "备份已成功保存至:$BACKUP_DIR/$BACKUP_NAME" else echo "备份失败,请检查设置和数据库连接" fi ``` 请注意修改以下变量的值以适配您的环境: - DB_HOST:远程主机的IP地址或域名。 - DB_PORT:远程主机上PostgreSQL数据库的端口。 - DB_NAME:要备份数据库的名称。 - BACKUP_DIR:备份文件保存的路径,确保该目录存在并具有适当的写权限。 您可以将该脚本保存为.sh文件,并在命令行中运行:`bash 脚本文件名.sh`。它将使用pg_dump命令在远程主机上备份postgres数据库为一个.sql文件,并将其保存到指定的备份目录中。最后,脚本将打印出备份的位置或失败的信息。 这是一个基本的远程全量备份脚本示例,您可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值