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是增量传输的,对于同步大文件这种场景很好用,试试吧
参考: