一款快速增量备份工具【Remote Sync,远程同步】
远程灾难备份功能
*支持本地复制,或者与其他SSH、rsync主机同步
配置rsync源服务器【rsync同步源】
*指备份操作的远程服务器,也称为备份源
web服务器本地有服务器,IDC机房有备份主机(远程同步),具体谁是同步源或发起端用户可以自定义。
*下行:发起端有读取权限
*上行:要有写入权限
*上行多配置为ssh模式
环境:
两台centos:
确保两台都安装了rsync
主服务器ip 192.168.254.11
客户端ip 192.168.254.20
这里我只备份一个http的目录同步到客户端上,实际上你可以同步任意的一个目录,/目录也是一样
同步两个的 主机都要有httpd这个服务,这样做是为了去同步/var/www/html里的文件
注意:
实际上可以同步任意目录,这里只是为了实验
我们在主服务器的/var/www/html/里写入文件
touch /var/www/html/{1..4}.txt
除了这四个文件里边还有个other目录
主配置
到服务器上
cat /etc/passwd |grep "^nobody"
如果没有nobody用户就去创建一个
vim /etc/rsyncd.conf
写入
uid = nobody gid = nobody # 任何人 use chroot = yes address = 192.168.254.11 #服务器 port 873 # 端口号 log file = /var/log/rsyncd.log # 日志 pid file = /var/run/rsyncd.pid # 储存pid,等会用于关服务 hosts allow = 192.168.254.0/24 # 允许那个网段去同步 [http] # 名字 path = /var/www/html # 同步的根目录 comment = 123123 # 解释可以随便写 read only = yes dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z # 同步时不再压缩的文件 auth users = tarro # 允许的用户 secrets file = /etc/user_list # 用户路径
vi /etc/user_list
前面用户:后面密码
chmod 600 /etc/user_list
rsync --daemon
# 开启服务
kill $(cat /var/run/rsyncd.pid)
# 关闭服务
现在到客户机上
什么都没有
rsync -avzH tarro@192.168.254.11::http /var/www/html
# 然后输入密码
现在就同步过来了
到主服务器上随便修改几个文件
再到客户机上
rsync -avzH --delete rsync://tarro@192.168.254.11/http /var/www/html
把旧的删除并且同步过来
老是输入密码有点麻烦,这也对我们到点进行自动备份,使用计划任务有了阻碍,我们可以把密码写进一个文件里,他同步使用去找文件里的密码,我们就 不用去输入了
我们再去服务器去修改一下文件
再回到客户机
vim /etc/server.pass
把密码写进去
rsync -avzH --delete --password-file=/etc/server.pass rsync://tarro@192.168.254.11/http /var/www/html
这次我们不用输入密码,直接就同步过来了
Linux:centos:周期性计划任务管理《crontab》_linux周期性计划任务时间格式_鲍海超-GNUBHCkalitarro的博客-CSDN博客
使用crontab测试周期性同步
再去服务器上修改文件
crontab -e
写入
30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/server.pass rsync://tarro@192.168.254.11/http /var/www/html/
# 每天10.30执行命令
date -s 22:29:30
修改时间
然后就可以到点执行了