如何部署rsyncd服务?

Rsync

1 基础知识

1.1 rsync

1.1.1 rsync的简介

rsync是一种快速且极其通用的文件复制工具

1.1.2 rsync的作用

– rsync允许用户通过shell实现本地与非本地主机文件传输复制(正向反向皆可)
– rsync提供大量的选项来控制复制文件的各种行为
– rsync可用于备份和镜像
– rsync可作为日常改进复制命令

1.1.3 rsync的特色

– 因为delta传输算法而闻名(只需发送源文件与目标文件的差异即可)

1.1.4 rsync的附加功能

– 支持复制链接、设备、所有者、组和权限
– 支持exclude和exclude-from选项类思域GNU的tar
– 支持排除模式
– 支持任何透明的shell,包括ssh或rsh
– 支持非超级用户权限
– 支持流水线式的传输(最小延迟)
– 支持匿名或身份验证式的守护程序方式运行(rsyncd)

1.2 rsyncd

1.2.1 rsyncd的简介

rsyncd即时rsync以守护进程的方式运行的服务端

1.2.2 rsyncd的功能

– 支持文件控制的身份验证、访问
– 支持日志记录
– 支持可用模块

2 最佳实践

2.1 环境信息

HostName = rsyncd.cmdschool.org
OS = CentOS 7.6-x86_64
IP Address = 10.168.0.105

2.2 准备工作

2.2.1 安装工具

yum install -y rsync

注:无论是客户端或服务端都需要安装

2.2.2 配置防火墙

firewall-cmd --permanent --add-service rsyncd
firewall-cmd --reload
firewall-cmd --list-all

2.3 配置服务

2.3.1 创建配置文件

cp /etc/rsyncd.conf /etc/rsyncd.conf.default
vim /etc/rsyncd.conf

加入如下配置:

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

uid = root
gid = root
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
exclude = lost+found/
transfer logging = yes
timeout = 900
ignore nonreadable = yes
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[rsyncdir]
        path = /data/rsyncdir
        read only = no
        comment = rsyncdir export area
        auth users = rsyncuser
        secrets file = /etc/rsyncd.secrets

2.3.2 创建同步目录

mkdir -p /data/rsyncdir

2.3.3 创建验证文件

echo 'rsyncuser:rsyncpwd' > /etc/rsyncd.secrets
chmod 640 /etc/rsyncd.secrets

2.3.4 启动并设置服务默认启动

systemctl start rsyncd.service
systemctl enable rsyncd.service

2.3.5 服务相关的其他命令

systemctl status rsyncd.service
systemctl stop rsyncd.service

2.4 验证服务端

2.4.1 确认服务启动

netstat -antp | grep rsync

2.4.2 故障排查日志

tail -f /var/log/messages

2.5 客户端的测试

rsync -avz /data/privacyIDEA/ rsync@10.168.0.105::rsyncdir

如果希望不用手动输入密码,请使用如下命令,

rsync --password-file=/root/.rsyncd.secrets -avz /data/privacyIDEA/ rsyncuser@10.168.0.105::rsyncdir

当然,你需要在客户端配置登录的密码,

echo 'rsyncpwd' > /root/.rsyncd.secrets
chmod 640 /root/.rsyncd.secrets

参阅文档
==================
https://download.samba.org/pub/rsync/rsyncd.conf.html

没有评论

发表评论