一、基本流程图
二、服务端安装:
yum -y install rsync
修改配置:(配置共享的目录是/rsync)
vim /etc/rsyncd.conf
#/etc/rsyncd.conf
#设置服务器信息提示文件名称,在该文件中编写提示信息
motd file = /etc/rsyncd.motd
#开启Rsync数据传输日志功能
transfer logging = yes
#设置日志文件名称,可以通过log format参数设置日志格式
log file =/var/log/rsyncd.log
#设置Rsync进程号保存文件名称
pid file =/var/run/rsyncd.pid
#设置锁文件名称
lock file =/var/run/rsync.lock
#设置服务器监听的端口号,默认为873
port = 873
#设置服务器所监听网卡接口的IP地址,这里服务器IP地址为192.168.0.9
#最好是写内网IP地址
address = 192.168.0.9
#设置进行数据传输时所使用的账户名称或ID号,默认使用nobody
uid = nobody
#设置进行数据传输时所使用的组名称或GID号,默认使用nobody
gid = nobody
#如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true.但是这个一般不需要,选择no或false
use chroot = no
#是否允许客户端上传数据,这里设置为只读。
read only = no #设置no,客户端可以上传文件,yes是只读
write only = no #no为客户端可以下载,yes 不能下载
#设置并发连接数,0代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收到稍后重试的提示消息
max connections = 10
#模块,Rsync通过模块定义同步的目录,模块以[name]的形式定义,在Rsync中也可以定义多个模块
[common]
#comment定义注释说明字串
comment = test content
#同步目录的真实路径通过path指定
path = /rsync
#忽略一些IO错误
ignore errors
#exclude可以指定例外的目录,即将common目录下的某个目录设置为不同步数据
#exclude = test/
#设置允许连接服务器的账户,账户可以是系统中不存在的用户,如果注释就不需要验证
auth users = test
#设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为600,仅在设置auth users
#参数后有效
secrets file = /etc/rsyncd.secrets
#设置允许哪些主机可以同步数据,可以是单个IP,也可以是网段,多个IP与网段之间使用空
#格分隔
#hosts allow=192.168.0.0/255.255.255.0
#设置拒绝所有(除hosts allow定义的主机外)
#hosts deny=*
#客户端请求显示模块列表时,本模块名称是否显示,默认为true
list= false
创建密码文件并赋予可读权限/etc/rsyncd.secrets (用户名是test,密码是123456)
echo "test:123456" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
Rsync默认不是开机启动服务,为了实现开机启动Rsync服务,我们可以通过echo将rsync –daemon追加至开机启动文件/etc/rc.local。最后通过设置防火墙开启873端口的入站数据请求。
echo "welcome" >/etc/rsyncd.motd #创建服务器提示信息文件并向该文件中导入欢迎词
rsync --daemon #启动
echo "/usr/bin/rsync –daemon" >> /etc/rc.local #加入开机启动
firewall-cmd --permanent --add-port=873/tcp #设置防火墙开启873端口的入站数据请求
三、 客户端安装
在客户端主机中同样是使用rsync命令进行初始化数据传输,使用同样的程序,但客户端主机不需要启动–daemon
yum -y install rsync #安装
• rsync client端配置
1)设定密码
echo "123456" > /etc/rsync.pas
2)修改权限
cd /etc
chown root.root rsync.pas
chmod 600 rsync.pas
在客户端执行:rsync -vzrtopg --progress test@192.168.0.9::common /test --password-file=/etc/rsync.pas
(从SERVER端取文件)
在客户端执行:rsync -vzrtopg --progress --password-file=/etc/rsync.pas /test test@192.168.0.9::common
(向SERVER端上传文件)
三、Windows安装客户端
解压 配置bin中rsync到环境变量Path即可使用。
配置完以后使用方法同Linux。
四、启动定时任务
crontab -e
0 3 * * * rsync -vzrtopg --progress test@192.168.0.9::common /test --password-file=/etc/rsync.pas #添加定时任务,每天凌晨3点自动执行