单机部署服务,通过docker数据卷将持久化数据映射到部署服务器本地,现在通过rsync将部署服务器的数据目录备份到备份服务器。
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
服务器资源
部署服务器:10.100.234.72
备份服务器:10.100.234.73
服务器操作系统:centos7.8
安装rsync,创建配置文件
yum install rsync
mkdir -p /root/backup
touch /root/backup/rsyncd.secrets
#内容为 账户名:密码
echo 'root:password'> /root/backup/rsyncd.secrets
touch /root/backup/rsyncd.motd
echo '10.100.234.72 backup.'> /root/backup/rsyncd.motd
vim /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
secrets file = /root/backup/rsyncd.secrets
motd file = /root/backup/rsyncd.motd
#指定运行端口,默认是873
port = 873
#指定服务端IP地址
address = 10.100.234.72
#用户远端的命令使用rsync访问共享目录
uid = root
#用户组
gid = root
#安全相关
use chroot = no
#最大连接数
max connections = 10
#可写
read only = yes
#禁止IP访问
hosts deny=*
#使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中
transfer logging = true
log format = %t %a %m %f %b
syslog facility = local3
#可以覆盖客户指定的IP超时时间 默认值不限制
timeout = 600
[www] #模块名称
#服务器提供访问的目录
path=/data/iflydocs-docker-deploy
#是否能列表
list=yes
##允许IP访问 多个IP以空格分割 客户端IP
hosts allow=10.100.234.73
#禁止IP访问
hosts deny=*
#忽略错误
ignore errors = true
#虚拟用户
auth users = root
#提交信息,便于识别
comment = This is billyu comment
启动rsync服务
#--config用于指定rsyncd.conf的位置,如果在/etc下可以不写
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
检测服务器防火墙 rsync默认端口 873
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
重启rsync
cat /var/run/rsyncd.pid | xargs kill -9
rm -rf /var/run/rsyncd.pid
/usr/bin/rsync --daemon
备份服务器
yum install rsync
mkdir -p /root/backup
touch /root/backup/rsyncd.secrets
echo 'password' > /root/backup/rsyncd.secrets
touch /root/backup/rsync.sh
echo 'rsync -avzP --delete --password-file=/root/backup/rsyncd.secrets 10.100.234.72::www /data/iflydocs-docker-deploy' > /root/backup/rsync.sh
chmod -R 777 /root/backup/rsync.sh
查看远程服务器列表
rsync --list-only --password-file=/root/backup/rsyncd.secrets 10.100.234.72::www
如果报错时查看部署服务器的rsync日志文件:/var/log/rsync.log
执行脚本,查看备份情况
bash /root/backup/rsync.sh
配置定时任务
crontab -e
#每10分钟执行一次同步
*/10 * * * * /root/backup/rsync.sh
实时同步方案
rsync + notify-tools
监听文件变化实时同步
参考博客:地址