把172.24.215.126 的PGSQL数据库每日备份到 172.24.216.45,其中PGSQL中有多个数据库(zabbix,postgres,template0,template1)(具体的代码)
时间: 2024-09-27 09:15:45 浏览: 40
为了将172.24.215.126 上的 PostgreSQL 数据库(包括 zabbix、postgres、template0 和 template1)每天备份到 172.24.216.45,你可以使用 `pg_dump` 命令结合定时任务如 `cron` 来完成这个任务。这里提供一个简单的 Bash 脚本示例,假设你有权限通过 SSH 远程执行命令:
```bash
#!/bin/bash
# 定义源地址、目标地址和用户名
SOURCE_HOST="172.24.215.126"
TARGET_HOST="172.24.216.45"
DB_USER="your_username" # 将 'your_username' 替换为实际的用户名
# 创建一个目录用于存放每日备份,如果不存在则创建
BACKUP_DIR="/path/to/backup/directory" # 根据实际情况修改路径
mkdir -p "$BACKUP_DIR"
# 设置时间点,例如每天凌晨1点执行
BACKUP_TIME="01:00"
# 执行备份并压缩文件
for DB in zabbix postgres template0 template1; do
DATE=$(date +%Y%m%d)
FILE_NAME="$BACKUP_DIR/${DB}_${DATE}.sql.gz"
pg_dump -U $DB_USER $DB -Fc | gzip > $FILE_NAME
# 如果需要,还可以通过 SSH 将备份文件复制到目标主机
ssh $DB_USER@$TARGET_HOST "cd /path/to/remote/backup/directory && gzip -dc /path/to/$(basename $FILE_NAME) > ${DB}_${DATE}.sql.gz"
done
# 检查是否备份成功
echo "Backup completed for all databases."
阅读全文