实验七-Rsync(文件同步服务)服务器搭建

前言:

在这里插入图片描述
配置unison:实现双向备份
RSYNC服务器
关于RSYNC
一款快速增量备份工具
Remote Sync,远程同步
支持本地复制,或者与其他SSH、rsync主机同步
官方网站: http://rsync. samba. org/
RSYNC特点
能更新整个目录和树和文件系统;
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
对于安装来说,无任何特殊权限要求;
对于多个文件来说,内部流水线减少文件等待的延时;能用rsh、ssh或直接端口做为传输入端口;
支持匿名rsync同步文件,是理想的镜像工具
同步源与发起端
rsync同步源:
指备份操作的远程服务器,也称为备份源
主要包括两种: rsync源、SSH源
在这里插入图片描述
rsync命令格式
在这里插入图片描述
rsync命令的用法
在这里插入图片描述

一:通过搭建SSH,实现单向同步

1:
查看两台机器的IP
服务器:192.168.142.131
在这里插入图片描述
发起端:192.168.142.133在这里插入图片描述
2:
在两台机器上新建目录
服务器:
在这里插入图片描述
发起端:
在这里插入图片描述
3:
在一台机器上新建文件和用户,并修改文件权限
服务器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4:测试上传
(1)
服务器端:
在这里插入图片描述

发起端:进行测试
在这里插入图片描述
ssh.txt成功上传到客户机(发起端),测试成功。
5:测试下载
客户端:
在这里插入图片描述
服务器端:

在这里插入图片描述
客户机端新建的s.txt成功下载到服务器。

二:通过搭建rsync,实现单向同步

1:服务器端写一个主配置文件

在这里插入图片描述

在这里插入图片描述

2:写用户名和密码的对应关系
在这里插入图片描述
在这里插入图片描述
3:密码文件服务改为600,否则服务起不来
在这里插入图片描述
4:开启服务:
在这里插入图片描述
5:建立以rsync方式搭建的同步源的 存放数据的目录
在这里插入图片描述
6:进到里面

在这里插入图片描述
7:来到客户端,进行同步测试
(1)先建一个本地目录
在这里插入图片描述
(2)用命令进行同步:
注意:服务器和客户机关闭防火墙和SELINUX
在这里插入图片描述

(3)查看结果:
在这里插入图片描述
服务器端建立的rsync.txt,成功同步下载到客户端。
(4)测试客户端的新建文件能不能同步到服务器
客户端:
在这里插入图片描述
发现报错,原因是服务器端vim /etc/rsyncd.conf中,rsync没有写权限。
在这里插入图片描述
若想能成功同步需要在服务器端vim /etc/rsyncd.conf中,修改如下:
在这里插入图片描述
在这里插入图片描述
然后

chmod 777 /var/rsync

再次来到客户机上传,发现上传成功:
在这里插入图片描述

三:利用rsync搭建自动同步服务器!

1.:进行无密码验证环境准备,设置无密码验证使两台能无密码验证。
(1)

#在服务器端
ssh-keygen -t rsa    #设置无密钥认证
ssh-copy-id 192.168.142.133   #指定另外一台机器的ip

在这里插入图片描述

#在客户端:
ssh-keygen -t rsa
ssh-copy-id 192.168.142.131

(2)进行测试:

# 服务器端
ssh 192.168.142.133 date

无密码验证成功:
在这里插入图片描述

# 客户端
ssh 192.168.142.131 date

无密码验证成功:
在这里插入图片描述
2:两台机器都装一下gcc

#服务器
yum -y install gcc*
#客户机
yum -y install gcc*

3:客户机和服务器均换光盘
eject弹出光盘,然后选择下面这个镜像连接
在这里插入图片描述

在这里插入图片描述
4.安装ocaml

#服务端和客户端都做以下操作
cd /media/20130806_063316/
cp * /usr/src
cd /usr/src
tar -zxf ocaml-3.10.1.tar.gz
cd ocaml-3.10.1
./configure
make world opt
make install
5.安装unison
#服务端和客户端都做以下操作
cd /usr/src
tar -zxf unison-2.13.16.tar.gz
cd unison-2.13.16
make UISTYPE=text THREADS=ture STATIC=true #出现make[1]: [tags] Error 127 (ignored)错误忽视即可
cp unison /usr/local/bin/
6.安装inotify-tools
#服务端和客户端都做以下操作
cd /usr/src
tar -zxf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure
make
make install
7.测试
#服务端
mkdir /server1
cd /server1
touch server1.txt
#客户端
mkdir /server2
cd /server2
touch server2.txt
#服务端
unison -batch /server1 ssh://192.168.142.133//server2

服务端:

在这里插入图片描述
再次ls后,/server1下应多了server2.txt;/server2下应多了server1.txt。
8:写脚本调用执行文件自动同步
服务器端:

cd ~
vim 1.sh
#!/bin/bash
ip2="192.168.142.133"
src2="/server1"
dst2="/server2"
/usr/local/bin/inotifywait -mrq -e create,delete $src2 | while read line; #监控src2目录创建和删除
do
    /usr/local/bin/unison -batch $src2 ssh://$ip2/$dst2
echo -n "$line" >> /var/log/inotify.log #保存日志
echo `date | cut -d " " -f1-4` >>/var/log/inotify.log #截取第1到第4部分存到日志
done

在这里插入图片描述

bash 1.sh

到客户机执行以下操作:
ssh 192.168.142.131
cd /server1/
touch 1.txt
然后来到服务器查看如下
在这里插入图片描述

发现客户端刚写的1.txt在服务器也有了,说明文件自动同步成功。

可以

vim /var/log/inotify.log #查看监听日志里记录的变化

在这里插入图片描述
由于我多练习了几次,所以有4条变化。

四:利用nfs搭建简单的文件同步服务器

nfs:网络文件系统,红帽7版之前透明传输,安全性较差,一般用在局域网里,要想通过公网验证一般用ftp来做。
服务端:
1:安装两个工具

yum -y install rpcbind #安装nfs用到的工具,远程终端调用,用来响应rpcbind,默认开启
yum -y install nfs-utils #安装nfs用到的工具包

2:写文件共享的列表

vim /etc/exports
#读写权限
/public 192.168.142.0/24(rw,sync)
#只读权限
/share 192.168.142.133(ro,sync)

3:创建共享目录和文件

cd /
mkdir public share
chmod 777 public/
chmod 777 share/
cd public/
touch public.txt
cd /share/
touch share.txt

4:重启服务

service rpcbind restart
service nfs restart

5:查看本机共享列表

showmount -e 127.0.0.1

在这里插入图片描述

客户端:
1:测试

showmount -e 192.168.142..131

在这里插入图片描述

显示两个服务端共享的文件夹列表,说明客户端能收到服务端共享的资源。
2.挂载服务端的/public目录测试

mount -t nfs 192.168.201.137:/public /mnt
#查看
mount
cd /mnt/
ls
#写入测试
touch qwzf
ls
#卸载
cd ~
umount /mnt/

在这里插入图片描述

3.挂载服务端的/share目录测试

mount -t nfs 192.168.142.131:/share /mnt/
#写入测试
cd /mnt/
touch wmm

在这里插入图片描述
无法写入
两条记录,一条读写访问,一条只读访问,验证成功。

4.设置自动挂载

vim /etc/fstab

在这里插入图片描述

cd ..
umount /mnt/
mount -a
mount | tail -1

在这里插入图片描述
实验完毕。
感悟:

本次Linux实验我明白了单向文件同步,RSYNC服务的SSH源和rsync源进行下载和上传。也了解到自动文件同步的实现和脚本的编写。同时也了解nfs通过挂载实现文件功能共享。但是过程中还是出了很多问题,希望下次能减少出错的操作,但是每次出错要分析清楚出错的原因,增强解决问题的能力。

拓展

1:目录同步

mkdir /aa
mkdir /bb
mount --bind /aa /bb
#写入fstab
vim /etc/fstab
/aa      /bb    ext4   defaults,bind   0 0

2:设置权限

mkdir /a
useradd manager
setfacl -m u:manager:rwx /a
useradd qwzf
setfacl -m u:qwzf:r-x /a
#删除权限
setfacl -x u:qwzf /a
setfacl -b /a
#设置默认权限
setfacl -m default:u:manager:rwx /a
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值