配置rsync daemon模式进行文件同步

rsync 默认使用 TCP 873 端口进行传输,但是否使用该端口,取决于你是通过 rsync daemon 模式(rsync://) 还是通过 SSH 模式(默认端口 22,使用 rsync -e ssh) 进行的同步。

本篇讲解如何启用873端口进行文件传输。

一、服务端配置(监听873端口)

1.安装rsync(大多数系统默认已装)

Debian/Ubuntu:

sudo apt update && sudo apt install rsync

CentOS/Fedora:

sudo yum install rsync

2.创建rsync配置文件 /etc/rsyncd.conf

sudo vim /etc/rsyncd.conf

示例内容(可根据需求修改):

# 全局配置
uid = nfs
gid = nfs
use chroot = no
max connections = 4
timeout = 300
log file = /var/log/rsyncd.log
port = 873

# 定义同步模块,类似共享名
[upload_path]
    path = /home/nfs/upload_path
    comment = Public File Sync
    read only = no
    list = yes
    auth users = syncuser
    secrets file = /etc/rsyncd.secrets

3.创建共享目录并设置权限

sudo mkdir -p /home/nfs/upload_path
sudo chown -R nfs:nfs /home/nfs/upload_path

4.创建认证文件 /etc/rsyncd.secrets

sudo vim /etc/rsyncd.secrets

内容格式为:

syncuser:yourpassword

设置文件权限(必须600)

sudo chmod 600 /etc/rsyncd.secrets

5.启动rsync守护进程

sudo rsync --daemon

或通过systemd管理:

sudo systemctl enable rsync
sudo systemctl start rsync

二、客户端使用方式

可以先测一下是否能联通服务端:

rsync rsync://your_server_ip/

如果能返回你的comment信息,则说明没问题。

账号密码访问:

rsync -av /local/dir/ rsync://syncuser@your_server_ip/upload_path/ --password-file=/path/to/password.txt

文件 /path/to/password.txt 只包含一行密码内容:
 

yourpassword

设置权限:

chmod 600 /path/to/password.txt

三、容易踩坑的几点:

1. 要保证服务端的873端口能被正常访问,可以用以下命令尝试。

telnet your_server_ip 873

如果显示异常,就要看是否和防火墙有关、是否和IT安全组策略有关,等等。

2. 配置文件rsyncd.conf中的uid指向的用户,一定要对path指向的路径有执行权限,不然会导致上传失败

3. 出现问题,及时查看/var/log/rsyncd.log,不要做无头苍蝇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

young_kp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值