lsyncd服务搭建 机器配置:

lsyncd服务搭建 机器配置: rsync服务端备份的机器也就是将文件推送到这台机器上进行备份rsync客户端需要备份到机器该机器上的文件需要推送到服务端配置rsync服务的守护进程模式因为lsyncd依赖rsync所以需要先配置rsync服务。服务端配置服务端下载rsyncCentOS/RHELyum install rsync -yUbuntu/Debianapt install rsync -y服务端修改配置文件rootmaster:~# cat /etc/rsyncd.conf全局配置字段#用户名uid rsync用户组gid rsync是否使用root传输yes表示是no表示否use chroot no只读开启/关闭true表示开启false表示关闭read only false最大连接数max connections 2000超时时间timeout 600pid文件pid file /var/run/rsyncd.pid并发锁文件lock file /var/run/rsync.lock日志文件log file /var/log/rsyncd.log是否忽略errorignore errors允许列出模块列表false代表不允许true代表允许list false访问验证用户虚拟账号非系统用户auth users rsync_backup密码文件secrets file /etc/rsync.password允许访问客户端IP多个逗号分隔0.0.0.0/0全部放行hosts allow 10.37.0.0/16拒绝客户端IP访问hosts deny 0.0.0.0/0自定义模块【backup】客户端访问标识[data]# 模块注释comment huangsir devops rsyncd study# 同步根目录真实服务器路径path /data00/rsync/rsyncd单独模块是否只读优先级高于全局read only false不允许删除文件按需开启refuse options delete服务端创建备份目录、创建用户创建目录和配置文件中的自定义模块backup中的path对齐rootmaster:~# mkdir -p /data00/rsync/rsyncd创建用户和配置文件中的uid对齐rootmaster:~# useradd rsync -M -s /sbin/nologin检查用户是否存在rootmaster:~# id rsyncuid2005(rsync) gid2006(rsync) groups2006(rsync)给目录授权rootmaster:~# chown rsync:rsync -R /data00/rsync/rsyncd/检查rootmaster:~# stat /data00/rsync/rsyncd/File: /data00/rsync/rsyncd/Size: 4096 Blocks: 8 IO Block: 4096 directoryDevice: fe10h/65040d Inode: 8129044 Links: 2这里已经改变了Access: (0755/drwxr-xr-x) Uid: ( 2005/ rsync) Gid: ( 2006/ rsync)Access: 2026-07-15 14:24:20.403479958 0800Modify: 2026-07-15 14:20:43.432593738 0800Change: 2026-07-15 14:24:20.403479958 0800Birth: -服务端创建rsync密码文件并修改权限密码文件固定为rsync.password其里面的内容为[用户名:密码]用户名为配置文件中的auth users 配置的用户名是个虚拟账号rootmaster:~# echo ‘rsync_backup:1’ /etc/rsync.passwordrootmaster:~# cat /etc/rsync.passwordrsync_backup:1修改文件的访问权限权限rootmaster:~# chmod 600 /etc/rsync.passwordrootmaster:~# ll /etc/rsync.password-rw------- 1 root root 15 Jul 15 14:27 /etc/rsync.password启动rsyncd服务并检查端口是否开启rootmaster:~# systemctl start rsync检查状态rootmaster:~# systemctl status rsync● rsync.service - fast remote file copy program daemonLoaded: loaded (/lib/systemd/system/rsync.service; enabled; vendor preset: enabled)Active: active (running) since Wed 2026-07-15 14:29:41 CST; 10s agoDocs: man:rsync(1)man:rsyncd.conf(5)Main PID: 2810502 (rsync)Tasks: 1 (limit: 9830)Memory: 272.0KCGroup: /system.slice/rsync.service└─2810502 /usr/bin/rsync --daemon --no-detachJul 15 14:29:41 master systemd[1]: Started fast remote file copy program daemon.检查端口rootmaster:~# ss -lntup | grep 873tcp LISTEN 0 5 0.0.0.0:873 0.0.0.0:* users:((“rsync”,pid2810502,fd3))tcp LISTEN 0 5 [::]:873 [::] users:((“rsync”,pid2810502,fd5))tcp LISTEN 0 128 [::]:32873 [::] users:((“rpc.mountd”,pid735389,fd19))服务端本地测试执行语法 rsync [选项] [文件路径] 虚拟账号名远程IP::[自定义模块名称]rootmaster:~# rsync -avz --progress /etc/hostname rsync_backup10.37.97.56::dataPassword: # 这里输入文件中的密码sending incremental file listhostname7 100% 0.00kB/s 0:00:00 (xfr#1, to-chk0/1)sent 101 bytes received 43 bytes 57.60 bytes/sectotal size is 7 speedup is 0.05客户端配置客户端下载rsyncCentOS/RHELyum install rsync -yUbuntu/Debianapt install rsync -y创建客户端密码文件并修改权限rootnode01:~# echo ‘1’ /etc/rsync.client.passwordrootnode01:~# chmod 600 /etc/rsync.client.password客户端测试语法 rsync [选项] [本地文件路径] 虚拟账号名远程IP::[自定义模块名称]–password-file/etc/rsync.client.password 指定密码文件rootnode01:~# rsync -avz --progress /etc rsync_backup10.37.97.56::data --password-file/etc/rsync.client.password客户端安装lsyncd服务客户端下载lsyncdCentOS/RHELyum install lsyncd -yUbuntu/Debianapt install lsyncd -y编写systemd文件系统自带的可能会存在问题rootnode01:~# cat /usr/lib/systemd/system/lsync.service[Unit]DescriptionLive Syncing (Mirror) Daemon[Service]TypesimpleExecStart/usr/bin/lsyncd -nodaemon /etc/lsyncd.confExecStoppkill lsyncdRestartalwaysRestartSec5s[Install]WantedBymulti-user.target重新加载并启动rootnode01:~# systemctl daemon-reloadrootnode01:~# systemctl start lsyncrootnode01:~# systemctl status lsync● lsync.service - Live Syncing (Mirror) DaemonLoaded: loaded (/lib/systemd/system/lsync.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2026-07-15 16:24:56 CST; 3min 34s agoMain PID: 1436492 (lsyncd)Tasks: 1 (limit: 9830)Memory: 540.0KCGroup: /system.slice/lsync.service└─1436492 /usr/bin/lsyncd -nodaemon /etc/lsyncd.confJul 15 16:24:56 node01 systemd[1]: Started Live Syncing (Mirror) Daemon.Jul 15 16:24:56 node01 lsyncd[1436492]: 16:24:56 Normal: — Startup —Jul 15 16:24:56 node01 lsyncd[1436492]: 16:24:56 Normal: recursive startup rsync: /data00/lsyncd/ - rsync_backup10.37.97.56::data/Jul 15 16:24:56 node01 lsyncd[1436492]: 16:24:56 Normal: Startup of /data00/lsyncd/ - rsync_backup10.37.97.56::data/ finished.回到顶部实战案例监控/data00/lsyncd目录并实时同步修改lsyncd的配置文件带注释配置文件下面有不带注释的rootnode01:~# cat /etc/lsyncd.conf–全局部分主要配置lsyncd服务,日志,pid文件.settings {–日志文件,主要查看日志文件.logfile “/var/log/lsyncd.log”,–pid文件pidfile “/var/run/lsyncd.pid”,–服务状态文件statusFile “/var/log/lsyncd.status”,–改为非守护进程模式,默认.rsync命令,lsyncdnodaemon true,–控制最多用于传输数据的进程数量 rsync进程数(最大)–根据cpu核心数来 1,2倍maxProcesses 2,–触发时机CloseWrite文件写完再同步推荐Modify文件一修改就触发频繁 IO 不推荐CloseWrite or Modify兼顾两者inotifyMode “CloseWrite”}–配置rsync命令,rsync服务端与客户端模式–sync部分可以有多个.sync {– 指定rsync工作模式default.rsync,– 指定lsyncd监控目录,本地目录source “/data00/lsyncd/”,– 指定目标 rsync服务端 虚拟用户名ip地址Վʦ 模块名字target “rsync_backup10.37.97.56::data”,– 每隔15秒同步一次减少频繁同步delay 15,– 配置rsync命令位置,rsync命令选项,rsync {– 命令位置binary “/usr/bin/rsync”,– rsync -a选项archive true,– rsync -z选项 压缩compress true,–rsync --delete 选项老版本不支持– delete true,– 指定ssh端口私钥免密,使用rsync不能配置rsh参数只能使用password_file– rsh “/usr/bin/ssh -p 22 -i /root/.ssh/id_rsa”,– 配置rsync–password-file密码文件password_file “/etc/rsync.client.password”}}