rsync使用

基本参数

       Local:  rsync [OPTION...] SRC... [DEST]
       Access via remote shell:
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
       Access via rsync daemon:
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
               rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
               rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
       Usages with just one SRC arg and no DEST arg will list the source files instead of copying.

或者tldr rsync

配置文件参数

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    #设置服务器监听的端口号,默认是873
address = 192.168.0.230    #设置本服务器所监听网卡接口的ip地址
uid = nobody    #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody
gid = nobody    #设置进行数据传输时所使用的组名或GID号,默认使用nobody
#若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。
use chroot = no 
read only = yes    #是否允许客户端上传数据,yes表示不允许
max connections =10    #设置并发连接数,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

Demo

本地pc有一个alonebo的用户,创建了几个文件夹,需要同步到远程服务器。
在远程服务器上创建守护进程,来实现远程同步。
vim /etc/rsync.conf

[synctestcode]
read only = false
path = /root/iot/test
log file = /var/log/rsync.log
uid = 0
gid = 0

uid和gid一定要设置,不然远程的alonebo用户的文件权限不足,上传不上来。
在远程服务器运行:

rsync --daemon

本地:

alonebo>$ rsync -r . root@ip::synctestcode

-r参数不保留文件参数。

    原文作者:Baloneo
    原文地址: https://www.jianshu.com/p/a866c6905595
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞