docker结合rsync工具容器导入导出MySQL数据以及异地备份方案
·
docker容器导入导出MySQL数据
流程图

# 备份
docker exec mysql mysqldump -uroot -p database_name > backup.sql
# 恢复
docker exec -i mysql mysql -uroot -p database_name < backup.sql
# 备份
docker exec mysql mysqldump --single-transaction --set-gtid-purged=off \
--ignore-table=orms.onl_cgform_enhance_js --routines --triggers --events \
-uroot -p"root" testdb | gzip > /data/database_backup/full20260106.sql.gz
# 恢复
nohup docker exec -i mysql sh -c 'exec mysql -uroot -proot testdb' < full-20260106.sql &
异地备份方案
异地备份服务器windows 10.10.1.1 ,安装rsync服务端,配置如下:
rsyncd.conf
uid=0
gid=0
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
port = 8733
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes
[patch_backup] <<<<<
path = /cygdrive/d/DMP/testpath
read only = false
transfer logging = yes
客户端LINUX命令如下
只同步更新的文件,已经同步过的文件不会再同步,把本地文件同步到备份服务器
# rsync --port=8733 -avzrtopg --progress /data/database_backup/ 10.10.1.1::patch_backup <<<<<
客户端配合crontab命令
05 3 * * * /bin/sh /data/scripts/sync_backup_server.sh > /data/database_backup/logs/exec_sync_to_backupserver.log 2>&1
备注:
从备份服务器下载文件到本地并删除服务端的文件
## rsync的名称
export rycname=sjztfims
## dmp文件路径
export dmp=/OSdata/DMP/${systemname}
rsync --port=873 -avzrtopg --progress --remove-source-files --delete 10.10.1.1::${rycname} $dmp
更多推荐

所有评论(0)