centos rsync服务搭建 -ag凯发k8国际
前言:
总结下rsync服务搭建
介绍:
rsync(remote synchronize)是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件。
特点:
- 能更新整个目录和树和文件系统
- 有选择性的保持符号连接、硬链接、文件属于、权限、设备以及时间等
- 能用rsh、ssh或直接端口做为传输入端口
- 支持匿名rsync同步文件
rsync同步源:
指备份操作的远程服务器,也称为备份源,主要包括两种:rsync源、ssh源
命令格式:
本地同步rsync 本地目录1 本地目录2 rsyncssh同步rsync ssh源 本地目录rsync 本地目录 ssh源 rsyncrsync同步rsync rsync源 本地目录rsync 本地目录 rsync源rsync命令的用法:
基本格式:rsync [选项] 原始位置 目标位置
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgod-r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项;-t 保持文件的时间属性;-p 保持文件的权限属性;-l 保留软链接;-l 同步软链接的同时同步其源文件;-g 保存文件数组;-o 保持文件的属主;-d 保存设备文件信息;-v =visual,可视化;-p 显示同步过程,比v更详细;-u =update,加上该选项,如果dest中文件比src中的新,则不同步;-z =zip,传输时压缩;–delete 删除dest中src没有的文件;–exclude 过滤指定文件,不同步;–progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等;-e 指定端口;进行实验
需要两台服务器
服务器端 192.168.186.135 客户机端 192.168.186.132通过ssh进行同步
服务器端 [root@lemon /]mkdir /var/ssh [root@lemon ssh]# touch ssh.txt(进行测试的文本) #i建立两个用户,一个上传一个下载 [root@lemon ssh]# useradd a1 [root@lemon ssh]# passwd a1 [root@lemon ssh]# useradd a2 [root@lemon ssh]# passwd a2 #a1用户上传,更改一下属主权限 [root@lemon var]# chown a1:a1 /var/ssh/ #a2用户进行下载 客户机端(发起端) mkdir /ssh #发起端要先安装下rsync,使用命令: rsync -avz a2@192.168.186.135:/var/ssh/* /ssh/
文件被传输过来了
但有时文件目录的属主权限是不能随意更改的,比如服务器端搭建了一个网站,如果将属组改成其他可能导致访问不了,可以使用setfacl命令进行操作
数据的上传
在客户端ssh目录下新建一个test.txt
同步到服务器端
同步完成
通过rsync进行同步
服务器端
没有主配值文件,需要自己手动写
[root@lemon etc]# vim /etc/rsyncd.conf use chroot = yes address = 192.168.186.135 port 873 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [share]comment = shypath = /var/rsyncread only = yesdont compress = *.gz *.bz2auth users = shysecrets file = /etc/rsyncd_users.db写一个密码存放的文件
[root@lemon etc]# vim /etc/rsyncd_users.db [root@lemon etc]# rsync --daemon [root@lemon etc]# netstat -anpt
端口已经开启了,下面就在服务器端创建测试文本
客户端
先创建一个存放文件的目录 mkdir /rsync 进行连接 rsync -avz shy@192.168.186.135::share /rsync如果访问失败的话更改一下服务器端密码文件的权限
#服务器端 [root@lemon rsync]# cd /etc [root@lemon etc]# chmod 600 rsyncd_users.db
同步完成
0x03:完成实时自动同步
需要两台服务器
服务器端 192.168.186.135 客户机端 192.168.186.136双向同步服务器不需要认证,方便后面的实验
这里使用的是root用户
服务器端:
[root@lemon 桌面]# ssh-keygen -t rsa [root@lemon 桌面]# ssh-copy-id 192.168.186.136同步到客户端中
同步成功
客户机端:
注意:如果提示没有ssh-copy-id这个命令,是因为最小化安装的缘故有的软件包没有安装上去
测试一下,客户机登陆一下:
测试成功
下面就来安装软件包,两台机器首先都需要安装gcc
yum -y install gcc*安装好之后,两台机器连接一下软件包镜像,在软件包镜像挂载客户端的时候遇到了一个问题,因为我客户端选择的是无桌面的,连接镜像后什么也没有。
解决方法:
镜像挂载好之后,服务器和客户机都要进行安装
这个错误不用管,是正常的
安装好之后进行测试
服务器端
mkdir /server1 [root@lemon server1]# touch server1.txt客户端
mkdir /server2 touch server2.txt服务器端进行同步
[root@lemon inotify-tools-3.14]# unison -batch /server1/ ssh://192.168.186.136//server2
同步成功
但通过命令比较麻烦,可以写shell脚本自动实现传输
保存为1.sh
执行脚本 bash 1.sh然后在客户机端远程连接服务器端
并在server1目录下创建一个文件,观察服务器端
实现了自动传输
除了这种还有其他方法,能够实现文件传输
服务器端进行的操作:
需要安装两个软件包
在这个文件中写入我们想要文件共享的列表
/public 192.168.186.0/24(rw,sync) /share 192.168.186.136(ro,sync)比如建立这两个目录,public目录是186网段的都拥有读写权限,而share 目录只192.168.186.136
可以读
showmount -e可以查看到本机共享的文件
出现错误是因为nfs服务器的hosts文件中的域名和nfs服务器的ip地址不对应造成的。
解决方法如下:
https://yq.aliyun.com/articles/43115
客户端进行的操作
先安装下这两个软件包
在客户端使用命令查看,能发现服务器端共享出来的资源
将服务器端的/public目录挂载到客户端的/mnt目录,如果权限不允许的话先重启服务试试看
挂载/public目录成功,可以进行读写,下面来挂载一下/share目录,先卸载当前挂载的
然后将/share目录挂载到/mnt/目录,使用mount命令查看拥rw权限
到此实验就全部验证完成了!
总结
以上是ag凯发k8国际为你收集整理的centos rsync服务搭建的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: centos apache服务搭建
- 下一篇: