帅比的运维学习日常:
环境:系统版本:centos7
一、rsync的注意点:
1、使用rsync同步,必须源数据主机与目标数据主机,同时安装rsync服务
2、由于rsync也是借助ssh通道进行同步的,因此也必须安装openssh-clients(也就是scp命令的安装包)
3、rsync并不会修改文件,而如果文件出现修改现象,会直接替换掉目标主机中的同名文件
而
二、rsync的deamon的配置
1、配置文件(/etc/rsyncd.conf)【该文件centos6中需要自己创建】
uid = rsync #指定rsync的使用用户
gid = rsync
use chroot = no #rsync的安全机制
max connections = 30 #rsync的最大连接数
timeout = 600 #时间超时
pid file = /var/run/rsyncd.pid #指定rsync的放pid的文件,Linux规定每个程序都要有自己放pid的文件
lock file = /var/run/rsync.lock #文件锁,类似于程序和数据库中的锁,当一个文件正在被写入时,拒绝其他链接的写入
log file = /var/log/rsync.log #rsync的日志文件
fake super = yes #这貌似是赋予rsync的提权限,我也不太清楚,老版本不需要写,新版本使用-a参数不写会爆粗[master] #定义模块,可以定义多个模块
path = /warehouse/rsync/ #只当rsync的同步数据存放路径
ignore errors #忽略一些同步时的io错误
read only = false #是否只读
list = false #当客户端发起查看请求的时候是否允许
hosts allow = 192.168.200.0/24 #指定允许链接的主机,hosts deny ,是不允许链接
auth users = master_user #rsync创建的虚拟用户
secrets file = /etc/rsync.password #rsync的虚拟用户密码文件
2、创建一个程序用户,也就是配置文件中指定的
3、创建一个创建一个rsync同步数据存放目录,就是配置文件中的path,此目录要保证rsync的用户要对此文件有读写权限
4、创建虚拟用户的密码文件,也就是secrets file指定的,此文件强制要求权限600,否则会报错,【注意rysnc的配置文件与虚拟用户的密码文件不需要改变属主】
虚拟用户密码文件的配置格式:
虚拟用户名:虚拟用户密码
5、rsync --daemon 启动rysnc的守护进程
(但注意:此程序没有stop终止命令,终止需要kill,但kill之后,一定要注意将rsync的pid文件手动删掉,否则再启动就会报错)
(如果嫌麻烦也可以配置成服务,/etc/systemd/system/)
6、rsync测试
①交互式进行rsync同步
rsync -avz 源目录路径 rsync虚拟用户@目标主机IP::虚拟用户的模块名 --delete
②非交互式
rsync -avz 源目录路径 rsync虚拟用户@目标主机IP::虚拟用户的模块名 --delete --password-file=客户端密码文件路径
如果使用该方式,则还需要在客户端也需要创建一个rsync的密码文件,此密码文件不需要写虚拟用户名,直接写密码即可,此密码文件的权限也必须是600