rsyncd 服务
rsyncd 是 rsync 的守护进程模式,可以在服务器上运行,允许客户端通过网络连接到服务器进行文件同步。它支持基于模块的配置,提供了丰富的访问控制和日志功能。
联动rsyncd以及其他的服务或命令,可以实现如定时同步、自动备份等功能。
常用目录文件与功能
1. 配置文件
rsyncd 的配置文件通常位于 /etc/rsyncd.conf,该文件定义了守护进程的全局配置和各个模块的具体设置。
2. 日志文件
默认情况下,rsyncd 会将日志记录在 /var/log/rsyncd.log 文件中,日志文件的位置和详细程度可以在配置文件中进行设置。
3. pid 文件
rsyncd 运行时会生成一个 pid 文件,通常位于 /var/run/rsyncd.pid,用于跟踪 rsyncd 进程的运行状态。
4. systemctl文件
usr/lib/systemd/system/rsyncd.service是systemctl xxx rsyncd时使用的文件
配置文件的每条语句的功能与参数
下面是一个典型的 rsyncd.conf 配置文件示例,详细说明每个配置项的功能和参数。
conf
# 全局配置
fake super = yes
uid = nobody
gid = nogroup
use chroot = yes
max connections = 4
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
ignor errors #忽略输出的报错
hosts allow =x.x.x.x #允许访问的网段或主机
[backup] #客户端访问的名字
path = /data/backup #服务端的存储路径
comment = Backup Directory
read only = no
list = yes
auth users = backupuser。#不需要真实在服务端上的用户,仅存于密码文件以`k:v`键值对的形式存放
secrets file = /etc/rsyncd.secrets
全局配置
fake super:指伪装成root执行。uid:指定守护进程运行的用户ID。默认是nobody。gid:指定守护进程运行的组ID。默认是nogroup。use chroot:是否使用chroot将守护进程限制在某个目录内。默认值是yes,提高安全性。max connections:允许的最大并发连接数。log file:日志文件的位置。pid file:存放rsyncd进程ID的文件位置。lock file:锁文件的位置,用于限制并发运行。
模块配置
模块配置用于定义不同的同步目录和相关的访问控制。
path:指定模块对应的目录路径。comment:对模块的简要说明,通常用于描述模块的用途。read only:是否以只读模式运行该模块。yes表示只读,no表示可读写。list:是否列出该模块,yes表示列出,no表示隐藏。auth users:指定允许访问该模块的用户列表,多个用户用逗号分隔。secrets file:指定存放用户认证信息的文件位置。
用户认证文件
用户认证文件通常位于 /etc/rsyncd.secrets,文件内容格式如下:
backupuser:password
该文件应设置为只有 rsyncd 服务用户可读,确保安全性:
sh
chmod 600 /etc/rsyncd.secrets
如何使用 rsyncd
1. 配置 rsyncd
创建或编辑配置文件 /etc/rsyncd.conf,并按照上述示例进行配置。
2. 启动 rsyncd
可以通过以下命令启动 rsyncd:
sh
sudo rsync --daemon
3. 连接到 rsyncd
客户端可以使用以下命令连接到 rsyncd 服务器进行文件同步:
sh
rsync -avz /local/path/ backupuser@remotehost::backup
如果 rsyncd 配置了用户认证,可以在命令行中输入密码:
sh
rsync -avz /local/path/ backupuser@remotehost::backup --password-file=/path/to/passwordfile
#/path/to/passwordfile文件存储在客户端本机上,内只存储backupuser的密码即可:
#cat passwordfile
# password
4. 停止 rsyncd
通过以下命令停止 rsyncd 服务:
sh
sudo kill $(cat /var/run/rsyncd.pid)