目录
1·介绍rsync
2·rsync的安装以及操作方法
3·启动rsync
4·文件传输
5·效验
6·总结
rsync 是一个开源的命令行工具,用于在不同的主机之间同步文件和目录。它可以通过远程 shell 或 rsync 协议(默认使用 SSH)来传输数据,支持增量传输,可以快速而有效地同步大量数据。rsync 可以工作在 Linux、Unix、macOS 等操作系统上,并且是一个非常流行的备份和同步工具。
rsync 的主要特点包括及(为什么使用rsync而不用scp):
支持增量传输:rsync 可以检测源和目标文件之间的差异,并只传输差异部分,这样可以大大减少传输的数据量,节省带宽和时间。
支持备份:rsync 可以使用硬链接和快照等技术来创建备份,可以轻松地恢复误删的文件或目录。
支持多种传输协议:rsync 支持 SSH、rsync 协议、rsh 或直接 socket 连接等多种传输协议,可以根据需要选择最适合的协议。
支持过滤规则:rsync 支持多种过滤规则,可以根据文件名、目录名、文件类型等进行过滤,可以排除不需要同步的文件或目录。
支持权限和时间戳:rsync 可以保留文件的权限和时间戳等元数据信息,确保同步后的文件和源文件具有相同的属性。
支持远程同步:rsync可以在本地和远程主机之间同步文件,而scp只能在本地和远程主机之间传输文件。
总之,rsync 是一个功能强大、灵活、高效的文件同步工具,可以帮助用户快速、准确地备份和同步文件和目录,如果需要传输大量的文件或需要进行增量传输和备份操作,那么rsync是更好的选择,如果只是传输少量的文件,并且不需要增量传输和备份功能,则scp更为适合。
在我们使用rsync的时候,与scp的方法其实是类似的,下面我就带大家一起来安装测试一下
1·执行 yum -y install rsync ,在执行的时候可以看一下自己本机上有没有rsync,先执行一下rsync就可以
我这个是新的机器,装的vim和wget一些组件
2·安装完成之后,修改配置文件
首先呢,我们需要将我们的防火墙之类的一些关闭
systemctl stop firewalld
setenforce 0 将防火墙跟selinux关闭
下面就是我们需要更改的两个配置文件,一个是 /etc/rsync.conf 一个是 /etc/rsync.password
里面的内容如下
/etc/password 里面的内容
下面是/etc/rsync.conf里面的内容
以下给大家解释一下此文件里面的内容
log file #指定rsync服务端的日志文件路径
pidfile #指定rsync服务端的pid文件路径
lock file #指定rsync服务端的锁文件
secrets file #指定rsync服务端的密码文件路径
[etc from client] 定义一个rsync模块的名字
path 指定了同步目录的路径
comment 用于描述该模块的作用
uid #指定同步到服务端的用户是root
gid #指定同步到服务端的用户组是root组
port #指定了服务端的监听端口
ignore errors #忽略同步过程中的错误
use chroot #不使用chroot功能
read only #指定为可读可写的权限
list # 不显示同步的文件列表
max connections #指定最大连接数
timeout #指定了链接超时间
auth users #指定允许访问该模块的用户名为llvision
文件配置完成之后记得把权限给改了
chmod 700 /etc/rsync.password
启动完成后查看端口起来没有,确认无误后客户端这边就配置完成了
以下的就是服务端的配置,相对于客户端这边来讲,服务端这里就比较简单了
1·还是执行yum -y install rsync ,下载前先看一下服务器本身有没有存在rsync
2·创建 /etc/password文件,里面写入客户端提前设置好的密码
3·再将权限进行更改
chmod 700 /etc/password
4·启动rsync进行实验
在服务端创建文件,随意创建,创建完成之后进行rsync的传输,我这里创建的是/root/test/abc,再执行以下命令进行传输
rsync --port 873 --delete /root/test llvision@localhost::etc_from_client --password-file=/etc/rsync.password
执行以上命令即可进行传输,上面的localhost改为自己本机的IP噢
在客户端指定的存放目录下进行查看/root/test下的abc目录有没有传输过来,传输过来证明实验完成
一般我们使用rsync的场景比较多,备份数据、同步文件、远程协作等。例如,可以使用Rsync将本地文件备份到远程服务器,或者将远程服务器上的文件同步到本地,也可以将多个服务器上的文件同步到一个中心服务器上。
本篇就先分享到这里,后续的话我们搞一个进阶的版本,再来试一下inotify实时备份