rsync配置

两台服务器:

rsync_server : 192.168.0.238

rsync_client : 192.168.0.239


系统版本:

CentOS5.4_x64



客户端和服务端安装rsync服务(yum安装省略)

yum -y install rsync



rsync安装后默认没有配置文件,需要手动建立。主要建立的文件有如下三个:

rsyncd.conf   服务主要配置文件。

rsyncd.secrets  存放登陆密码文件。

rsyncd.motd   定义的用户登录信息。



配置步骤:


一:服务端操作:


1.创建rsync配置文件存放目录

mkdir /etc/rsyncd


2.创建主配置文件

vim /etc/rsyncd/rsyncd.conf


pid file = /var/run/rsyncd.pid  

port = 888

address = 192.168.0.238   #服务端地址

#uid = nobody

#gid = nobody  

uid = root      #  默认使用的nobody用户,但是在同步的时候,会遇到权限的问题。使用root并非安全,可以尝试使用acl对要同步数据目录做单独权限分析。

gid = root  


use chroot = yes   #  chroot顾名思义就是把用户锁在一个目录里,比较安全。但是如果该目录下存在连接文件,那么同步的时候无法同步连接的文件数据。

read only = no   #  只读,禁止用户上传。


hosts allow=192.168.0.0/255.255.255.0   # 允许访问的地址列表,也可以使用单个地址。

hosts deny=*


max connections = 5       #客户端的最大连接数

#motd file = /etc/rsyncd/rsyncd.motd  #存放显示信息,也可以不创建。若不创建要注释!


#log file = /var/log/rsync.log  #  日志,如果开启,去掉#号。


#transfer logging = yes   #  是否记录传输日志

log format = %t %a %m %f %b

syslog facility = local3

timeout = 300


[data]     #类似模块,只对下面的配置生效

path = /data  

list=yes

ignore errors

auth users = user1                # 这个用户必须是系统用户

secrets file = /etc/rsyncd/rsyncd.secrets   # 存放密码的文件

comment = data source

exclude =   FIle1/ FIle2/     #意思是除了这两个目录,其他的都同步    


[data2]

path = /data2

list=no

ignore errors

comment = data2 source  

auth users = user2

secrets file = /etc/rsyncd/rsyncd.secrets



3.创建数据目录;

mkdir /data /data2


4.创建用户和密码对应文件;

vim /etc/rsyncd/rsyncd.secrets

user1:user1

user2:user2   ----> 注意: 这里使用的密码要避免使用系统用户的密码。笔者给的密码是虚拟的。


5.启动rsync服务;

如果开启防火墙,需要关闭,或者开启防火墙规则:

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


rsync --daemon  --config=/etc/rsyncd/rsyncd.conf  :启动服务

netstat -tnlp |grep rsync                          : 查看状态

tcp        0      0 192.168.0.238:888           0.0.0.0:*                   LISTEN      4971/rsync



二: 客户端操作

客户端只需要使用rsync命令直接同步即可!


rsync命令使用:

rsync -[options]   用户@服务端主机地址::服务端对应模块   客户端存放位置

[options]

-r 是递归

-l 是链接文件,意思是拷贝链接文件;

-p 表示保持文件原有权限;

-t 保持文件原有时间;

-g 保持文件原有用户组;

-o 保持文件原有属主;

-D 相当于块设备文件;

-a 等同于-rlptgoD集合;

-z 传输时压缩;

-P 传输进度;

-v 传输时的进度等信息,可以和-P一同使用;


mkdir  /rsync_client_data

rsync -azPv [email protected]::data  /rsync_client_data

-> :注意这里需要输入密码,这个密码就是上面设置的虚拟密码


如果不想输入密码,可以写在配置文件中;

touch /etc/rsync.password

chmod 600 /etc/rsync.password

echo "user1"> /etc/rsync.password


rsync -azPv  --password-file=/etc/rsync.password [email protected]::data  /rsync_client_data  # 此时就不需要输入密码了



三: 写入任务计划,定期执行;

crontab -e

0 0 * * * rsync -azPv  --password-file=/etc/rsync.password [email protected]::data  /rsync_client_data


你可能感兴趣的:(服务器,服务端,配置文件,用户登录,nobody)