📜  备份 postgres 数据库 docker - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:08:09.844000             🧑  作者: Mango

备份 Postgres 数据库 Docker

在使用 Docker 部署 Postgres 数据库时,需要定期备份数据以保证数据的安全性和完整性。下面介绍使用 Shell-Bash 脚本备份 Postgres 数据库 Docker 的方法。

运行环境

本脚本在以下环境测试通过:

  • Ubuntu 16.04
  • Docker 18.06.1-ce
  • Postgres 10.5
脚本说明

以下是备份脚本的详细说明。

## 备份 Postgres 数据库 Docker 脚本

### 1. 获取容器 ID

获取需要备份的 Postgres 容器 ID。

```bash
docker ps | grep postgres | awk '{print $1}'
2. 备份数据库

备份指定的 Postgres 数据库,并将备份文件输出到指定路径。

docker exec <postgres_container_id> pg_dump -U postgres <database_name> > /data/<database_name>.backup
3. 压缩备份文件

将备份文件压缩到 tar.gz 格式。

tar czf /data/<database_name>.backup.tar.gz /data/<database_name>.backup
4. 删除原始备份文件

删除原始备份文件以释放磁盘空间。

rm /data/<database_name>.backup
5. 定时备份

使用 cron 定时执行备份脚本。

# 每天凌晨 3 点备份数据库
0 3 * * * /path/to/backup_script.sh
结束

## 使用方法

按以下步骤使用备份脚本:

1. 将脚本保存为 backup_script.sh 文件,并给与执行权限。

```markdown
$ chmod +x backup_script.sh
  1. 修改脚本中的数据库名称和容器 ID,以及备份文件的输出路径。

  2. 执行脚本以备份数据库。

$ ./backup_script.sh
总结

使用这个备份脚本可以方便地备份 Postgres 数据库,并定时执行来确保数据的安全性和完整性。