PostgreSQL 数据库备份恢复脚本
#!/bin/bash
# PostgreSQL 数据库备份和恢复脚本
# 使用前请确保已经安装了 pg_dump 和 psql 工具
# 配置信息
DB_USER="your_username"
DB_PASSWORD="your_password"
DB_HOST="your_host"
DB_NAME="your_dbname"
BACKUP_PATH="/path/to/your/backup/directory"
# 备份数据库
backup_database() {
echo "开始备份数据库..."
# 创建备份目录
mkdir -p "$BACKUP_PATH"
# 执行备份命令
pg_dump -U "$DB_USER" -h "$DB_HOST" -W -Fc -b -v --file "$BACKUP_PATH/backup.dump" "$DB_NAME"
echo "备份完成."
}
# 恢复数据库
restore_database() {
echo "开始恢复数据库..."
# 确保备份文件存在
if [ ! -f "$BACKUP_PATH/backup.dump" ]; then
echo "备份文件不存在."
exit 1
fi
# 恢复数据库
psql -U "$DB_USER" -h "$DB_HOST" -W -v -d "$DB_NAME" -f "$BACKUP_PATH/backup.dump"
echo "恢复完成."
}
# 根据传入参数执行相应的操作
case "$1" in
backup)
backup_database
;;
restore)
restore_database
;;
*)
echo "用法: $0 {backup|restore}"
exit 1
esac
这个脚本提供了一个简单的框架来备份和恢复 PostgreSQL 数据库。使用前,需要根据实际情况配置 DB_USER
, DB_PASSWORD
, DB_HOST
, DB_NAME
, 和 BACKUP_PATH
。使用时,运行脚本并传递 backup
或 restore
作为参数来执行对应的操作。
评论已关闭