shell实现多台pg数据库备份
时间: 2023-08-12 14:58:18 浏览: 137
你可以使用Shell脚本来实现多台pg数据库的备份。以下是一个简单的示例脚本:
```shell
#!/bin/bash
# 数据库配置
declare -a databases=("db1" "db2" "db3") # 要备份的数据库列表
backup_dir="/path/to/backup" # 备份文件存储目录
# 备份函数
function backup_database() {
local db=$1
local timestamp=$(date +%Y%m%d%H%M%S)
local backup_file="${backup_dir}/${db}_${timestamp}.sql"
# 执行备份命令
pg_dump -U username -h localhost $db > $backup_file
if [ $? -eq 0 ]; then
echo "数据库 ${db} 备份成功"
else
echo "数据库 ${db} 备份失败"
fi
}
# 循环备份每个数据库
for db in "${databases[@]}"; do
backup_database $db
done
```
在脚本中,你需要配置要备份的数据库列表和备份文件存储目录。然后,使用`pg_dump`命令对每个数据库进行备份,并将备份文件保存到指定目录中。
请确保将`username`替换为实际的PostgreSQL用户名,并根据需要修改其他备份选项。你还可以根据需要添加其他功能,如压缩备份文件或将备份上传至远程服务器。
使用此脚本,你可以轻松地备份多个pg数据库。只需运行脚本即可执行备份操作。
阅读全文