rsync的搭建配置
1.环境和配置文件

rsyncd.conf(主配置文件)
rsyncd.secrets(密码文件)
pc1:192.168.0.1,rsync的服务器,配置rsyncd.conf文件,设置模块名字为test
pc2:192.168.0.200,rsync的客户端

2.源码安装省略和主配置文件

vim /etc/rsyncd.conf

transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.log
lock file = /var/run/rsync.lock
port =
address = 192.168.0.1
uid = nobody
gid = nobody
use chroot = no
read only = yes
max connections =
[test]
path = /test
ignore errors
#exclude = test/
auth users = tom, jerry
secrets file = /etc/rysncd.secrets
hosts allow = 192.168.0.0/255.255.255.0
hosts deny=* motd file = /etc/rsyncd.motd
#设置服务器信息提示文件,在该文件中编写提示信息
transfer logging = yes
#开启rsync数据传输日志功能
log file = /var/log/rsyncd.log
#设置日志文件名,可通过log format参数设置日志格式
pid file = /var/run/rsyncd.log
#设置rsync进程号保存文件名称
lock file = /var/run/rsync.lock
#设置锁文件名称
port =
#设置服务器监听的端口号,默认是873
address = 192.168.0.230
#设置本服务器所监听网卡接口的ip地址
uid = nobody
#设置进行数据传输时所使用的帐户名或ID号,默认使用nobody
gid = nobody
#设置进行数据传输时所使用的组名或GID号,默认使用nobody
#rsync默认是在nobody用户下运行的,但是我们为了以后同步时不为各种权限的事情烦恼,就让其在root用户下运行
#若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。
#但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。
use chroot = no
read only = yes
#是否允许客户端上传数据,yes表示不允许
max connections =
#设置并发连接数,0表示无限制
[common]
#自定义模块名,rsync通过模块定义同步的目录,可定义多个
comment = web content
#定义注释说明字串
path = /common
#同步目录的真是路径通过path指定
ignore errors
#忽略一些IO错误
#exclude = test/
#exclude指定common目录下某个目录可以不同步数据
auth users = tom, jerry
#设置允许连接服务器的账户,此账户可以是系统中不存在的用户
secrets file = /etc/rysncd.secrets
#密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效
hosts allow = 192.168.0.0/255.255.255.0
#设置哪些主机可以同步数据,多ip和网段之间使用空格分隔
hosts deny=*
#除了hosts allow定义的主机外,拒绝其他所有
list = false
#客户端请求显示模块列表时,本模块名称是否显示,默认为true

三. 创建密码文件,防火墙设置,客户端和服务器端都要做如下操作

echo "tom:123" > /etc/rsyncd.secrets
echo "jerry:123" >> /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets
rsync --daemon
# --daemon表示后台执行,客户端开启rsync不需要--daemon选项。
#如果rsync的配置文件不在/etc目录下或者rsync配置文件名不为rsyncd.conf,
#那么我们在启动rsync服务时,就要手工加上该配置文件的完整路径。方法如下:
#rsync --daemon --config=/etc/rsyncd.conf
rsync --daemon --help

echo "/usr/bin/rsync --daemon" >> /etc/rc.local
#开机启动rsync服务
firewall-cmd --permanent --add-port=873/tcp
#添加防火墙规则,允许873端口的数据访问

四. 客户端同步数据

yum -y install rsync
rsync -vzrtopg --progress tom@192.168.0.230::test /xxx     
#通test模块指定的/test目录下的文件拷贝到本客户端的/xxx目录下

参数说明

v:显示详细信息
z:传输过程中对数据进行压缩
r:递归
t:保留修改时间属性
o:保留文件所有者属性
p:保留文件权限属性
g:保留文件所属组属性
a:归档模式,主要保留文件属性,等同于-rlptgoD --progress:显示数据传输的进度信息
--password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600
--delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数
--list-only:仅列出服务器模块列表,需要rsync服务器设置list=true 取服务器的ip地址
ifconfig eth1|grep "inet addr"|awk '{print $2}'|cut -d: -f2

*****************rsync的使用**************

cat /etc/rsyncd.conf

uid = root
gid = root
user chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log
[backup]
path = /backup/
ignore errors
read only = no
list = no
hosts allow = 192.168.0.200/255.255.255.0
auth users = test
secrets file = /etc/rsyncd.password
[www]
path = /www/
ignore errors
read only = no
list = no
hosts allow = 192.168.0.200/255.255.255.0
auth users = apache
secrets file = /etc/rsyncd.password rsync的七个命令格式:如下: )rsync [OPTION]... SRC [SRC]... DEST
)rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
)rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
)rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
)rsync [OPTION]... [USER@]HOST:SRC [DEST]
)rsync [OPTION]... [USER@]HOST::SRC [DEST]
)rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
这七个命令格式就是代表rsync六种不同的工作模式,其中第四种和第七种模式没有多大的区别。在这几种模式中第三种和第六种模式是我们经常使用的,特别是第三种模式。
这六种模式总体上可以用两个词进行区分:推送、拉取。
推送就是在客户端上执行rsync命令,目的是把客户端需要同步的文件推送到服务器上。
拉取也是在客户端上执行rsync命令,目的是把服务器上的文件拉取到本地。
注意:无论是推送和拉取,rsync命令都是在客户端执行,只是命令的格式不同而已。
服务端192.168.0.
客户端192.168.0. ) rsync [OPTION]... SRC [SRC]... DEST
同步本地文件,从一个目录同步到另外一个目录。如:rsync -avz /data /backup,表示把本地/data目录下的文件同步到本地/backup目录下。 ) rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
使用一个远程shell程序(如rsh、ssh)来实现把本地的文件同步到远程机器上。此种方式属于推送方式。如:rsync -avz /data test@192.168.199.247:/backup,
表示把本地/data目录下的文件同步到服务器192.168.199.247的/backup目录下。 3) rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
把本地的文件同步到远程服务器上,其中DEST表示的是rsync服务器的认证模块名。此种方式属于推送方式。如:
rsync -avz /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password,
表示把本地/data目录下的文件同步到服务器的backup模块下path路径下。
在客户端192.168.0.200运行该命令。
rsync -avz --delete --progress /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password
) rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
列出远程机器的文件列表。这类似于ls命令,不过只要在命令中省略掉本地机信息即可。如:
rsync -v rsync://test@192.168.199.247/backup,表示在本机列出服务器192.168.199.247的/backup目录下的内容,如下: ) rsync [OPTION]... [USER@]HOST:SRC [DEST]
把远程机器的文件同步到本地,此种方式属于拉取方式。如:
rsync -avz test@192.168.199.247:/backup /data,表示把192.168.199.247的/backup目录下文件同步到本地/data目录下。 6) rsync [OPTION]... [USER@]HOST::SRC [DEST]
把远程机器的文件同步到本地,此种方式属于拉取方式。如:
rsync -avz test@192.168.199.247::backup --password-file=/etc/rsyncd.password /data,
表示把192.168.199.247的backup模块path路径下的文件同步到本地/data目录下。

最新文章

  1. IIS同时实现网站部分使用https协议访问另一部分http访问
  2. SSH遇见的问题
  3. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问
  4. ABAP 加密解密程序
  5. ASP.NET Core 1.0 安装并发布到Centos 7.2 使用jexus 5.8.2
  6. 8、FTP,二种文本传输模式
  7. HDU 2444:The Accomodation of Students(二分图判定+匹配)
  8. VC++使用WebBrowser控件,强制给控件指定版本显示网页
  9. Spring与Quartz的整合实现定时任务调度
  10. IPv4和IPv6简单对比介绍(转载)
  11. numactl 修改 非统一内存访问架构 NUMA(Non Uniform Memory Access Architecture)模式
  12. keil 生成 bin文件
  13. Ajax实现文件上传的临时垃圾文件回收策略
  14. sql分割字符串
  15. nginx负载均衡及配置
  16. eclipse 编译的时候 自动把SDK需要放入libs里面的so文件给删除了
  17. python's seventh day for me set
  18. alsa-lib及alsa-utils成功移植(原…
  19. 纯js生成QRCode
  20. Codeforces 810 C. Do you want a date?

热门文章

  1. 剑指offer24 二叉搜索树的后序遍历序列
  2. python_83_random_应用验证码
  3. Dede常用标记
  4. C/C++基础知识:函数指针和指针函数的基本概念
  5. 【mac】【转发】Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了
  6. drf 解析器,响应器,路由控制
  7. 爬虫之Scrapy和分页
  8. python数据类型之字符串(str)和其常用方法
  9. HTTPS的请求与响应
  10. Splay的用法