pg数据库备份脚本

一、前提
①linux服务器;
②本地安装有pg数据库,并有pg_dump命令
二、准备备份脚本
备份脚本/pie/data/backup_script26.sh内容如下:
=============================
#!/bin/bash
#设置数据库连接变量
DB_HOST="172.30.3.26" # 数据库主机地址
DB_PORT="5432" # 数据库端口,PostgreSQL 默认是 5432
DB_NAME="DB_META" # 要备份的数据库名
DB_USER="postgres" # 数据库用户名
DB_PASS="YjLqT@3hhGS#" # 数据库密码
BACKUP_DIR="/pie/data/DB_META" # 备份文件存储的目录
DATE=$(date +%Y%m%d_%H%M%S) # 获取当前日期和时间作为文件名的一部分
#备份文件名(包含时间戳)
BACKUP_FILENAME="${DB_NAME}_${DATE}.sql.gz"
#如果备份目录不存在,则创建该目录
if [ ! -d "${BACKUP_DIR}" ]; then
mkdir -p "${BACKUP_DIR}"
fi
#导出数据库到指定文件
PGPASSWORD=$DB_PASS pg_dump -h $DB_HOST -p $DB_PORT -U $DB_USER -F c -b -v -f "${BACKUP_DIR}/${BACKUP_FILENAME}" $DB_NAME
#检查备份是否成功
if [ $? -eq 0 ]; then
echo "Database backup successful."
else
echo "Error occurred during backup."
fi
=============================
三、在服务服务器设置定时任务
在crontab中设置每天启动的表达式
0 2 * * * /pie/data/backup_script26.sh
posted @ 2024-08-24 15:47  Runner_Jack  阅读(72)  评论(0编辑  收藏  举报