南昌专业做网站,360建筑网怎样取消发布的消息,做外贸如何建立网站平台,分析不同网站的优缺点lsyncd实现方式可参考#xff1a;https://www.jianshu.com/p/c075ccf89516
安装文件下载#xff1a;相关文件下载 rsync默认都有#xff0c;所以没有提供。
服务端和客户端均操作
服务端#xff1a;双向同步其实都是服务端#xff0c;只是单向同步时稍有区别 客户端https://www.jianshu.com/p/c075ccf89516
安装文件下载相关文件下载 rsync默认都有所以没有提供。
服务端和客户端均操作
服务端双向同步其实都是服务端只是单向同步时稍有区别 客户端双向同步其实都是服务端
1、创建服务端和客户端密码文件
echo rsync_zyc_server:123456 /etc/rsync_zyc_server.password
echo 123456 /etc/rsync_zyc_client.password
# 修改密码访问权限必须改
chmod 600 /etc/rsync_*rsync_zyc_server.passwordrsync服务配置里需要用到的认证文件和用户名 rsync_zyc_client.password连接其他服务器的rsync服务时所需的密码文件
2、修改rsync配置文件并启动文件同步服务
vi /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode# See rsyncd.conf man page for more options.# configuration example:# uid nobody
# gid nobody
# use chroot yes
# max connections 4
# pid file /var/run/rsyncd.pid
# exclude lostfound/
# transfer logging yes
# timeout 900
# ignore nonreadable yes
# dont compress *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# [ftp]
# path /home/ftp
# comment ftp export area# 端口
port 10873
# 以 xxxx 用户启动进程
uid root
gid root# 无需让rsync以root身份运行允许接收文件的完整属性
fake super yes# 禁锢推送的数据至某个目录不允许跳出该目录
# 允许chroot提升安全性客户端连接模块首先chroot到模块path参数指定的目录下
# chroot为yes时必须使用root权限且不能备份path路径外的链接文件
use chroot no# 最大连接数
max connections 200# 超时时间
timeout 300# pid文件路径
pid file /var/run/rsyncd.pid# 锁文件路径
lock file /var/run/rsync.lock# 剔除某些文件或目录不同步
exclude lostfound/# 记录传输文件日志
transfer logging yes# 指定日志文件
log file /var/log/rsyncd_zyc.log# 日志文件格式
log format %t %a %m %f %b# 忽略错误信息
ignore errors# 对备份数据可读写
read only false# 不允许查看模块信息
list false# 定义虚拟用户作为连接认证用户
auth users rsync_zyc_server# 定义rsync服务用户连接认证密码文件路径
secrets file /etc/rsync_zyc_server.password# 设置不需要压缩的文件
dont compress *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2# 定义模块信息
[zycFileSync]
# 模块注释信息
comment 双向同步目录测试
# 定义备份数据目录此处根据实际调整
path /root/fileSyncRpm/testFiles/[zycDatabaseSync]
comment 数据库备份文件单向同步测试
path /root/fileSyncRpm/testDatabase/
3、安装inotify-tools
上传下载好的epel-release-7-11.noarch.rpm和inotify-tools-3.14-9.el7.x86_64.rpm 安装rpm -iv *.rpm
服务端操作
双向同步的脚本
vi /root/fileSyncRpm/inotify.sh# 启动文件同步服务
rsync --daemon# 远程主机ip地址
host192.168.0.212# 本地服务器同步目录即同步该目录内的文件和子目录
src/root/fileSyncRpm/testFiles/# 远程服务器 rsync 服务模块名
deszycFileSync# rsync服务用户连接认证密码文件路径
password/etc/rsync_zyc_client.password# 连接认证用户
userrsync_zyc_server# inotifywait 程序路径
inotifywait/usr/bin/inotifywait# 监听文件变化进行传输
$inotifywait -mrq -e modify,delete,create,attrib $src |while read files;
dorsync -azP $src $user$host::$des --port10873 --password-file${password};# 日志可视情况开启# echo ${files} was rsynced! ./rsync_inotify.log 21;done单向同步的脚本
vi /root/fileSyncRpm/databaseInotify.sh# 启动文件同步服务
rsync --daemon# 远程主机ip地址
host192.168.0.212# 本地服务器同步目录即同步该目录内的文件和子目录
src/root/fileSyncRpm/testDatabase/# 远程服务器 rsync 服务模块名
deszycDatabaseSync# rsync服务用户连接认证密码文件路径
password/etc/rsync_zyc_client.password# 连接认证用户
userrsync_zyc_server# inotifywait 程序路径
inotifywait/usr/bin/inotifywait# 监听文件变化进行传输
$inotifywait -mrq -e modify,delete,create,attrib $src |while read files;
dorsync -azP $src $user$host::$des --port10873 --password-file${password};# 日志可视情况开启# echo ${files} was rsynced! ./rsync_inotify.log 21;done
启动单向同步和双向同步脚本手动
nohup sh inotify.sh inotify.log 21
nohup sh databaseInotify.sh databaseInotify.log 21 客户端操作
双向同步的脚本
vi /root/fileSyncRpm/inotify.sh# 启动文件同步服务
rsync --daemon# 远程主机ip地址
host192.168.0.211# 本地服务器同步目录即同步该目录内的文件和子目录
src/root/fileSyncRpm/testFiles/# 远程服务器 rsync 服务模块名
deszycFileSync# rsync服务用户连接认证密码文件路径
password/etc/rsync_zyc_client.password# 连接认证用户
userrsync_zyc_server# inotifywait 程序路径
inotifywait/usr/bin/inotifywait# 监听文件变化进行传输
$inotifywait -mrq -e modify,delete,create,attrib $src |while read files;
dorsync -azP $src $user$host::$des --port10873 --password-file${password};# 日志可视情况开启# echo ${files} was rsynced! ./rsync_inotify.log 21;done启动双向同步脚本手动
nohup sh inotify.sh inotify.log 21 测试
在服务端和客户端创建文件测试
cd /root/fileSyncRpm/testFiles
touch b.1设置开机自启动
创建服务单元文件在 /etc/systemd/system 目录下创建一个新的服务单元文件例如 zycFileInotify.service。 打开终端并运行
vi /etc/systemd/system/zycFileInotify.service[Unit]
DescriptionInotify File Sync Script
Afternetwork.target[Service]
Typesimple
ExecStart/bin/bash /root/fileSyncRpm/inotify.sh
Restarton-failure[Install]
WantedBymulti-user.target这里 ExecStart 行指定了要执行的脚本位置。 加载并启用服务保存并关闭文件后运行以下命令来加载服务并设置开机启动
sudo systemctl daemon-reload
sudo systemctl enable zycFileInotify.service
sudo systemctl start zycFileInotify.service
sudo systemctl status zycFileInotify.service