资讯专栏INFORMATION COLUMN

centos下配置rsyncd服务器

TigerChain / 2091人阅读
https://segmentfault.com/a/

不知道什么是rsync,请查看 rsync 。

首先,检查rsync是否安装,如果没有需要手动安装
#检查是否安装过rsync,或者使用命令  rpm -qa|grep rsync 也可以

whereis rsync
#如果结果类似下面这张情况,则已经安装
# rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz
#如果结果是,那么说明当前服务器还没有安装过rsync
# rsync:

#使用yum安装rsync

yum install rsync
创建rsyncd服务的配置文件

默认安装后,在/etc目录下,并不存在rsyncd目录,需要手动创建配置文件目录

makdir /etc/rsyncd

在/etc/rsyncd目录下创建如下文件

touch /etc/rsyncd/rsyncd.conf          #主配置文件
touch /etc/rsyncd/rsyncd.secrets       #用户名密码文件,一组用户一行,用户名和密码使用 : 分割
touch /etc/rsyncd/rsyncd.motd          #非必须,连接上rsyncd显示的欢迎信息,此文件可不创建

必须注意的是,rsyncd服务的密码文件权限必须是600

chmod 0600 /etc/rsyncd/rsyncd.secrets
编辑主配置文件 rsyncd.conf
######################################################################################################
#                      ******进程相关全局配置******
######################################################################################################
# = 后面的值可根据自己的实际情况更改
#    pid file 守护进程pid文件
#    port 守护进程监听端口,可更改,由xinetd允许rsyncd时忽略此参数
#    address 守护进程监听ip,由xinetd允许rsyncd时忽略此参数
pid file = /usr/local/var/run/rsyncd.pid
port = 873
address = 192.168.1.2
#rsyncd 守护进程运行系统用户全局配置,也可在具体的块中独立配置,
uid = root
gid = root
#允许 chroot,提升安全性,客户端连接模块,首先chroot到模块path参数指定的目录下
#chroot为yes时必须使用root权限,且不能备份path路径外的链接文件
use chroot = yes
#只读
read only = no
#只写
write only = no
#允许访问rsyncd服务的ip,ip端或者多带带ip之间使用空格隔开
hosts allow = 192.168.0.1/255.255.255.0 198.162.145.1 10.0.1.0/255.255.255.0
#不允许访问rsyncd服务的ip,*是全部(不涵盖在hosts allow中声明的ip,注意和hosts allow的先后顺序)
hosts deny = *
#客户端最大连接数
max connections = 5
#欢迎文件路径,可选的
#motd file = /etc/rsyncd/rsyncd.motd
#日志相关
#    log file 指定rsync发送消息日志文件,而不是发送给syslog,如果不填这个参数默认发送给syslog
#    transfer logging 是否记录传输文件日志
#    log format 日志文件格式,格式参数请google
#    syslog facility rsync发送消息给syslog时的消息级别,
#    timeout连接超时时间
log file = /usr/local/logs/rsyncd.log
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

######################################################################################################
#                      ******模块配置(多个)******
######################################################################################################
#模块 模块名称必须使用[]环绕,比如要访问data1,则地址应该是data1user@192.168.1.2::data1
[data1]
#模块根目录,必须指定
path=/home/username
#是否允许列出模块里的内容
list=yes
#忽略错误
#ignore errors
#模块验证用户名称,可使用空格或者逗号隔开多个用户名
auth users = data1user
#模块验证密码文件 可放在全局配置里
secrets file=/etc/rsyncd/rsyncd.secrets
#注释
comment = some description about this moudle
#排除目录,多个之间使用空格隔开
exclude = test1/ test2/

可以直接copy上述内容,作为自己rsyncd服务的配置模板

启动rsyncd服务

rsyncd 服务负载比较高的时候,设定rsyncd为独立的守护进程

#默认配置文件是/etc/rsyncd.conf,所以需要显式的指定配置文件
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
#假设使用putty,xshell终端操作,保证终端断开进程仍然执行
nohup /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

为了保证开机时自动启动,需要手动加上面的命令(/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf)加入 /etc/rc.local 文件中
如果服务器开启了防火墙,必须保证端口能穿过防火墙

iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT

端口号修改为实际端口号即可

rsyncd 使用xinetd运行
xinetd的rsync配置文件是/etc/xinetd.d/rsync
需要编辑此文件修改一个参数,显式的指定rsyncd服务的配置文件

server_args     = --daemon --config=/etc/rsyncd/rsyncd.conf

注意系统如果没有安装xinetd,需要 yum intall xinetd

chkconfig rsync on
service xinetd restart
使用rsync传输数据

示例1:

rsync -avzP data1user@192.168.1.2::data1 ~/data1

保持传输原有文件权限,用户,用户组,时间,递归的把data1模块数据复制到用户家目录的data1目录里,
参数 a的意思就是 保留文件原有权限,用户,用户组,时间且递归的copy包括链接文件,块设备在内的所有文件,这个参数很常用
参数 v是显示传输信息
参数 P显示传输进度
参数 z是压缩传输内容进行传输

假设要保持data1模块和用户家目录模块内容完全一致,加上参数 --delete,这样会删除在~/data1目录里但是不在data1模块里的文件(夹)

rsync -avzP --delete data1user@192.168.1.2::data1 ~/data1

示例2:

rsync -avzP --delete --password-file=/~/rsync/data1.secrets data1user@192.168.1.2::data1 ~/data1

传输时自动使用密码文件而不用手动输入,注意密码文件权限必须是600

文中如有疏漏不当之处请指正。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7477.html

相关文章

  • centos7 常规配置

    摘要:命令行的提示位置网卡绑定导出全部数据库导入数据库数据,命令补全使用相比变化的内容默认没有本地源配置文件了防火墙变为服务管理了默认不生效归服务管理了新建源文件 命令行的提示位置vim /etc/bashrcexport PS1=n[e[37;1m[][e[31;1m]u[e[39;1m]@[e[33;1m]H [e[34;1m]w[e[37;1m]]n[e[32;1m]$ ...

    20171112 评论0 收藏0
  • centos7 常规配置

    摘要:命令行的提示位置网卡绑定导出全部数据库导入数据库数据,命令补全使用相比变化的内容默认没有本地源配置文件了防火墙变为服务管理了默认不生效归服务管理了新建源文件 命令行的提示位置vim /etc/bashrcexport PS1=n[e[37;1m[][e[31;1m]u[e[39;1m]@[e[33;1m]H [e[34;1m]w[e[37;1m]]n[e[32;1m]$ ...

    Donne 评论0 收藏0
  • linux基础命令介绍七:网络传输与安全

    摘要:文件中以符号开头的行是注释行,起描述性作用,没有实际效果。链路层对帧进行校验,正常则将其放入自己的队列,置软中断标志位。网络层对包进行错误检测,没错的话,进行路由选择。传输层收到报文段后将进行校验 本篇接着介绍网络相关命令 1、wget 文件下载工具 wget [option]... [URL]... wget是一个非交互的下载器,支持HTTP, HTTPS和FTP协议,也可以使用代理...

    wwq0327 评论0 收藏0
  • Linux同步工具inotify+rsync使用详解

    摘要:什么是是一个远程数据同步工具,可通过快速同步多台主机间的文件。所以通常可以作为备份工具来使用。经测试,上述配置文件每行后面不能使用来来注释一行一个用户,用户名密码。表示每个可监控的最大目录数量。排除使用排除监控目录的 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。它使用所谓的Rsync演算法来使本地和远程...

    v1 评论0 收藏0
  • 案例:使用rsync在windows电脑上实现文件同步

    摘要:本文将在一台服务器上搭建文件同步服务,然后在另一台电脑上保持与的单向同步。一个简单的实施方案,就是在上搭建服务,然后告知来同步。 本文将在一台Linux服务器A上搭建rsync文件同步服务,然后在另一台windows电脑B上保持与A的单向同步。 一个具体的案例 某技术公司A的业务,会在服务器上生产pdf电子书、相册等文件,但是公司A本身不具备打印技术,需要转交给传统打印公司B来完成线下...

    Yuanf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<