【问题标题】:How do I automate backing up MYSQL database container如何自动备份 MYSQL 数据库容器
【发布时间】:2020-03-18 07:42:22
【问题描述】:

我有一个在 centos 服务器上运行的 MYSQL 数据库容器。如何自动备份容器外的数据库?

【问题讨论】:

标签: docker docker-compose containers


【解决方案1】:

如 cmets 中所述,请确保将卷用于数据文件夹。

用于备份:

  1. 在主机上创建一个 bash 脚本并使其可执行:
#!/bin/bash
DATE=$(date '+%Y-%m-%d_%H-%M-%S')
docker exec <container name> /usr/bin/mysqldump -u <putdatabaseusername here> -p<PutyourpasswordHere> --all-databases > /<path to desired backup location>/$DATE.sql
if [[ $? == 0 ]]; then
    find /<path to desired backup location>/ -mtime +10 -exec rm {} \;
fi

更改以下内容:

&lt;container name&gt; 到实际的数据库容器名称

&lt;putdatabaseusername here&gt; 给数据库用户

&lt;PutyourpasswordHere&gt; 到数据库密码

为备份文件创建一个目录并将/&lt;path to desired backup location&gt;/替换为实际路径

  1. 在主机上创建一个 cronjob,在所需时间/周期内执行脚本

请注意,此脚本将保留备份 10 天,更改数字以反映您的需要。

重要提示:此脚本将密码存储在文件中,在生产中使用安全方式

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2012-01-16
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    相关资源
    最近更新 更多