PostgreSQL实现定期备份的方法

2024-04-18 0 769
目录
  • 前言
  • 环境说明
    • 1、创建脚本
    • 2、用pgAgent设置定时任务
  • 结语

    前言

    本文主要研究下PostgreSQL如何实现定期备份。

    环境说明

    我们需要第一在主机上创建一个文件夹用来存放保存好的文件(容器和本机都需要) 且本机的文件需要赋予权限

    chmod o+W /你的文件地址

    需要在容器中安装openssh-client、和sshpass

    apt install openssh-client
    apt-get install sshpass

    1、创建脚本

    先查询下pg_dumpall工具位置:

    find / -name pg_dumpall

    在容器的一个文件中创建sh脚本

    cd /home
    mkdir script
    touch save.sh

    脚本内容为(根据实际情况修改):

    #!/bin/bash

    # Description:备份 PostgreSQL 数据库并压缩成 gz 文件,最后删除 3 天前的备份文件。

    echo \”开始执行 PostgreSQL 数据库的备份…\”
    echo \”backup ing…\”
    today=$(date +%Y-%m-%d) # 今天的日期
    nowtime=$(date +%F+%T) # 当前时间点
    yestoday=$(date -d \’-3 day\’ +%Y-%m-%d) # 3天前的日期
    host_ip=127.0.0.1 # 本机 IP 地址
    backup_ip=你的远端地址 # 远端备份服务器 IP
    port_id=5432 # 端口号,PostgreSQL默认的端口号是5432
    username=postgres # 数据库用户
    export PGPASSWORD=\’你的密码\’ # 数据库密码
    dmpDir=\’你的目录\’ # 本地备份目录
    destination=\’你的目录\’ # 远端备份目录

    echo \”时间:\” $nowtime
    set timeout 600

    # /usr/bin/ 为 pg_dump 备份工具安装路径,根据实际情况更新此路径。

    /usr/bin/pg_dumpall –file \”$dmpDir/pg_backup_$today.sql\” –host \”$host_ip\” –port \”$port_id\” –username \”$username\”
    #–verbose –role \”postgres\” –format=c –blobs –encoding \”UTF8\” 备份转换扩展配置

    echo \”PostgreSQL 数据库备份完成!\”

    echo \”当天备份文件压缩中…\”
    gzip \”$dmpDir/pg_backup_$today.sql\”
    echo \”3 天前的 PostgreSQL 数据库备份文件已删除!\”

    echo \”开始远端备份…\”
    export SSHPASS=your_password
    sshpass -e scp -r \”$dmpDir/pg_backup_$today.sql.gz\” (你的登录名)@$backup_ip:$destination

    echo \”远端备份完毕,感谢您使用此脚本!\”
    exit;

    给脚本增加可执行权限

    chmod +x save.sh

    2、用pgAgent设置定时任务

    点击创建

    PostgreSQL实现定期备份的方法

    输入名称

    PostgreSQL实现定期备份的方法

    点击步骤创建

    PostgreSQL实现定期备份的方法

    点击编辑——添加运行代码

    PostgreSQL实现定期备份的方法

    PostgreSQL实现定期备份的方法

    创建计划任务:

    PostgreSQL实现定期备份的方法

    最后在重复中:添加每日执行时间

    PostgreSQL实现定期备份的方法

    最后记得保存!

    结语

    我们借用pgAgent完成了数据库的日常2个定时任务,清理数据、保存数据库。

    以上就是PostgreSQL实现定期备份的方法的详细内容,更多关于PostgreSQL定时备份的资料请关注悠久资源其它相关文章!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 PostgreSQL PostgreSQL实现定期备份的方法 https://www.u-9.cn/database/postgresql/186572.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务