Skip to main content
Version: v22.01

数据备份

需要备份的数据包含 MySQL, Redis, Elasticsearch 与附件

离线数据备份#

在执行以下数据备份与恢复时,需要确保服务已经停止,否则有可能会引发数据一致性问题。

MySQL#

导出#

mysqldump -uroot -pxxxxx -R -E --single-transactio --databases ur_main > ur_main.sqlmysqldump -uroot -pxxxxx -R -E --single-transactio --databases new_ur > new_ur.sql 

导入#

mysql -uroot -p ur_main < ur_main.sqlmysql -uroot -p new_ur < new_ur.sql

Elasticsearch#

备份前记录索引数据内容和数据总量,以便迁移后核对

curl http://elasticsearch-server:9200/_cat/indices

单节点备份#

注意: 执行以下操作时必须正常退出 Elasticsearch 进程

cd ops/docker_env/var/lib/tar zcf elasticsearch-data.tar.gz elasticsearch 

单节点恢复#

注意: 执行以下操作时必须正常退出 Elasticsearch 进程

cd elasticsearch_answertar zxf elasticsearch-data.tar.gz data

验证目录与数据的准确性,执行以下命令,如果出现 nodes 目录,即为正确

ls -lha data

多节点集群在备份与恢复时,尽可能将数据集中到某一个节点,使集群变为单节点集群。

Redis#

备份与恢复#

注意: 执行以下操作时必须正常退出源 redis-server 进程与目标 redis-server 进程

使用 ops/docker_env/var/lib/redis/dump.rdb 替换目标服务器文件 redis/data/dump.rdb

附件#

备份与替换以下存储目录即可

/data/vhosts/rec.ur.qq.com/

定时备份#

NFS Server 里的目录 /data/backup,依赖定时任务 ops/standalone/crontab/backup.sh, 可参考 nfs-backup-job.yml, 按天备份内容如下

  • 附件
  • MySQL
  • Elasticsearch