wangbin
  • wangbin
  • 2019-12-07
  • IT

centos7搭建rsync服务

一. 简介

rsync是一个快速增量文件传输工具,用来备份数据很方便

这儿记录下rsync服务搭建和使用的步骤

二.安装

install_rsync.sh

yum -y install rsync

就好了

三. 配置

/usr/local/rsync/rsyncd.conf

uid = root
gid = root
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
log file = /var/log/rsync.log
lock file = /var/lock/rsync.lock

[siyou325]
path = /vps/files/rsync/siyou325
comment = siyou325 files
auth users = siyou325
secrets file = /usr/local/rsync/rsyncd.secrets
ignore errors
read only = no
write only = no
uid = root
gid = root

配置了siyou325模块,对应的本地路径是/vps/files/rsync/siyou325,用户siyou325,对应的密码保存在/usr/local/rsync/rsyncd.secrets

/usr/local/rsync/rsyncd.secrets

siyou325:test123

siyou325对应的密码是:test123

四. 启动

启动

rsync --daemon --config=/usr/local/rsync/rsyncd.conf

停止

killall rsync

五:客户端使用

创建本地文件rsyncd.passwd

test123

拉取

rsync \
-avzp \
--delete \
--password-file=your-path/rsyncd.passwd \
siyou325@your-ip::siyou325/ \
~/Desktop/tmp-rsync/ 

推送,交换下两个路径的位置

rsync \
-avzp \
--delete \
--password-file=your-path/rsyncd.passwd \
~/Desktop/tmp-rsync/ \
siyou325@your-ip::siyou325/ 

和cp命令一样,第一个是源路径,第二个是目标路径,将文件或者文件夹从路径1同步到路径2

这儿有个小经验,如果同步的是文件,则路径最后不需要带上"/",如果同步的文件夹的话,后面的路径需要带上"/",这样rsync才能工作的符合预期。

还有个注意点,这儿your-ip后面的是两个冒号,表示使用的rsync协议,如果一个冒号,表示使用的SSH协议

当然你也可以用另外一种写法,看起来更清晰

拉取

rsync \
-avzp \
--delete \
--password-file=your-path/rsyncd.passwd \
rsync://siyou325@your-ip/siyou325/ \
~/Desktop/tmp-rsync/ 

推送

rsync \
-avzp \
--delete \
--password-file=your-path/rsyncd.passwd \
~/Desktop/tmp-rsync/ \
rsync://siyou325@your-ip/siyou325/

六. 开放873端口

rsync协议的端口是873,firewalld开放该端口的命令是

firewall-cmd --zone=public --add-service=rsyncd --permanent
firewall-cmd --reload 
# 展示
firewall-cmd --list-all

七. 其他用法

1.本地文件

rsync \
-avzp \
--delete \
~/Desktop/directory1/ \
~/Desktop/directory2/

同步本地文件夹directory1到directory2

2.ssh协议

rsync \
-avzp \
--delete \
siyou325@your-ip:~/Desktop/directory1/ \
~/Desktop/directory1/

同步远端your-ip电脑上的directory1文件夹到本地directory1,不过这个需要你有远端电脑的账号权限,临时使用可以,真要多用户使用的话还是起个rsync服务吧,毕竟不用每个人都给开个电脑账户,权限单独控制

八. 总结

rsync是增量传输的,对于同步大文件这种场景很好用,试试吧

参考:

  1. https://blog.csdn.net/weixin_38642130/article/details/86572036

  2. https://www.cnblogs.com/wangguangtao/p/10164400.html