2026年Ubuntu SQLAdmin备份恢复完全指南(2026)

一、备份恢复概述

数据备份与恢复是数据库管理的核心环节。

二、环境准备

sudo apt update
sudo apt install postgresql -y

三、全量备份

3.1 使用pg_dump

# 备份单个数据库
pg_dump -U postgres -Fc mydb -f mydb_backup.dump

# 备份所有数据库
pg_dumpall -U postgres -f all_databases.sql

3.2 自动化脚本

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/var/backups/postgres"
mkdir -p $BACKUP_DIR
pg_dumpall -U postgres > $BACKUP_DIR/backup_$DATE.sql
echo "Backup completed: $BACKUP_DIR/backup_$DATE.sql"

四、增量备份

4.1 WAL归档配置

sudo nano /etc/postgresql/15/main/postgresql.conf

wal_level = replica
max_wal_senders = 3
archive_mode = on
archive_command = 'cp %p /var/backups/wal/%f'

4.2 备份调度

crontab -e
# 每天凌晨2点全量备份
0 2 * * * /opt/scripts/backup.sh

五、数据恢复

5.1 全量恢复

# 恢复SQL文件
psql -U postgres -f backup_20260101.sql

# 恢复压缩格式
pg_restore -U postgres -d mydb mydb_backup.dump

5.2 Point-in-Time恢复

# 编辑恢复配置
sudo nano /var/lib/postgresql/15/main/postgresql.conf

restore_command = 'cp /var/backups/wal/%f %p'
recovery_target_time = '2026-01-01 00:00:00'

六、云存储备份

6.1 S3备份

# 安装AWS CLI
pip install awscli

# 上传到S3
aws s3 cp backup.sql s3://my-bucket/postgres/

七、验证测试

# 验证备份完整性
file backup_20260101.sql

# 测试恢复
pg_restore --list mydb_backup.dump | head -20

八、常见问题

Q1:备份文件过大?

使用压缩格式:pg_dump -Fc

Q2:恢复失败?

检查权限和磁盘空间。

九、总结

完善的备份恢复策略保障数据安全。

注:本文基于2026年Ubuntu 22.04编写

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注