📅  最后修改于: 2023-12-03 15:08:09.844000             🧑  作者: Mango
在使用 Docker 部署 Postgres 数据库时,需要定期备份数据以保证数据的安全性和完整性。下面介绍使用 Shell-Bash 脚本备份 Postgres 数据库 Docker 的方法。
本脚本在以下环境测试通过:
以下是备份脚本的详细说明。
## 备份 Postgres 数据库 Docker 脚本
### 1. 获取容器 ID
获取需要备份的 Postgres 容器 ID。
```bash
docker ps | grep postgres | awk '{print $1}'
备份指定的 Postgres 数据库,并将备份文件输出到指定路径。
docker exec <postgres_container_id> pg_dump -U postgres <database_name> > /data/<database_name>.backup
将备份文件压缩到 tar.gz 格式。
tar czf /data/<database_name>.backup.tar.gz /data/<database_name>.backup
删除原始备份文件以释放磁盘空间。
rm /data/<database_name>.backup
使用 cron 定时执行备份脚本。
# 每天凌晨 3 点备份数据库
0 3 * * * /path/to/backup_script.sh
## 使用方法
按以下步骤使用备份脚本:
1. 将脚本保存为 backup_script.sh 文件,并给与执行权限。
```markdown
$ chmod +x backup_script.sh
修改脚本中的数据库名称和容器 ID,以及备份文件的输出路径。
执行脚本以备份数据库。
$ ./backup_script.sh
使用这个备份脚本可以方便地备份 Postgres 数据库,并定时执行来确保数据的安全性和完整性。