一聚教程网:一个值得你收藏的教程网站

热门教程

centos系统rsync文件同步 安装配置

时间:2022-06-30 20:57:43 编辑:袖梨 来源:一聚教程网

rsync的目录主要是为了同步文件用的,现在把使用的配置记录一下

测试机器2台
rsync服务器IP:192.168.171.22
客户端IP:192.168.171.134

rsync服务器端操作
检查是否安装rsync

rpm -qa | grep rsync
安装rsync,并通过xinetd管理rsync

yum -y install rsync xinetd
检查启动,默认端口873

netstat -an | grep 873
rsync随xinetd启动而启动

vi /etc/xinetd.d/rsync
将disable = yes 修改为 disable = no

创建rsync需要的文件

mkdir /etc/rsyncd
touch /etc/rsyncd/rsyncd.conf #主配置文件
touch /etc/rsyncd/rsyncd.secrets #验证用户和密码存放地
touch /etc/rsyncd/rsyncd.motd #服务器描述信息
ln /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf #建立链接
为了密码的安全性,我们把权限设为600

chown root:root /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets
修改主配置文件

vi /etc/rsyncd/rsyncd.conf
添加以下内容

#服务器传输文件时用root 权限执行
uid = root                       
gid = root
#指定服务端口,默认873
port = 873
use chroot = no
#只读,不让客户端上传文件到服务器
read only = yes
#limit access to private LANs
#限制能访问该服务的网段
hosts allow=192.168.0.0/255.255.0.0
hosts deny=*
#最大连接数
max connections = 5                     
#告诉进程写到该文件中
pid file = /var/run/rsyncd.pid            

secrets file = /etc/rsyncd/rsyncd.secrets  
#lock file = /var/run/rsync.lock          
#服务器信息定义指向该文件,该文件可写服务器信息,欢迎的文字
motd file = /etc/rsyncd/rsyncd.motd      

#This will give you a separate log file
log file = /var/log/rsync.log              

#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes                   
#日志文件格式
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300 #超时时间

# MODULE OPTIONS
[testhome]
#同步的目录 
path = /home/test/                    
list=yes  
#忽略IO错误
ignore errors
#验证用户,我的用户是cs 
auth users = cs                        
comment = test home   
#不同步的目录
exclude = .git/
修改rsyncd.secrets 和rsyncd.motd 文件

vi /etc/rsyncd/rsyncd.secrets
添加内容

cs:123456
cs该用户不要求是系统用户

vi /etc/rsyncd/rsyncd.motd
添加内容

++++++++++++++++++++++++++++++++
Welcome
++++++++++++++++++++++++++++++++
防火墙设置(rsync默认端口 837)

vi /etc/sysconfig/iptables
添加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
重启服务

service xinetd restart
客户端操作
安装rsync

yum -y install rsync
测试

rsync -avzP [email protected]::testhome /home/test
上面命令意思就是用cs用户登录服务器,将testhome指定的目录数据保存到我本地/home/test

同步命令说明:

1 显示目录内容

命令
——
a) rsync
b) rsync -r
c) rsync [email protected]::
d) rsync [email protected]:

命令说明
———
a) 显示目录内容(第一层)
b) 递归显示目录内容
c) 显示远程主机目录内容
*注1:端口模式, 基于rsync用户的身份验证
*注2:rsync server上的目录必须具有xx7的权限.

d) 查看远程主机目录内容
*注1:remote shell模式, 通过ssh连接的基于系统本地用户的身份验证
*注2:这里只使用了一个冒号(:),同时用户名是远程主机的ssh 用户,密码也是ssh用户对应的密码。
*注3:使用””,则列出文件夹本身的信息。若要列出文件夹内容,应使用”/”。

参数说明
———
-r 对目录进行递归操作

2 本地目录之间同步

命令
——
a) rsync -av –progress / *** 注意(/) ***
b) rsync -av –progress
c) rsync -avu –progress –delete /
d) rsync -av –progress –temp-dir=/tmp /

命令说明
———
a) 同步src-dir目录下所有文件到dst-dir目录下
b) 同步src-dir目录下所有文件到dst-dir/src-dir目录下
c) 对src-dir目录内容向dst-dir目录下进行差异更新,有增加/更新则添加替换,有减少则对其删减
d) 比a)多了–temp-dir=/tmp,即指定/tmp为临时交换区,这样可以避免因目标目录空间不够引起的无法同步文件的错误。

参数说明
———
-a 相当于 -rlptgoD 的集合
-u 等同于 –update,在目标文件比源文件新的情况下不更新
-v 显示同步的文件
–progress 显示文件同步时的百分比进度、传输速率
–delete 删除目标目录中多于源目录的文件

3 异地主机之间同步
命令
——
a) rsync -avz –progress [email protected]::/
b) rsync -avz –progress [email protected]::/ –password-file=/home/jack/rsync.jack
c) rsync -avuz –progress –delete [email protected]::/ –password-file=/home/jack/rsync.jack
d) rsync -avz –progress [email protected]::/

命令说明
———
a) 同步本地目录的内容到远程主机192.168.0.1的目录下,jack是rsync数据库用户(参见3. /etc/rsync.secrets)
b) 通过自动读取用户密码而实现非交互登录文件同步
c) 较b)多了-u和–delete
d) 同步远程主机内容到本地目录

热门栏目