rsync + inotify实时同步文件

该博客介绍了如何使用Linux下的inotify工具结合rsync实现本地文件系统的实时监控和备份到远程服务器。通过编写bash脚本,当检测到文件系统中的创建、删除、读取、写入等操作时,立即触发rsync进行同步,确保数据的即时备份。
摘要由CSDN通过智能技术生成

最近由于某些原因需要同步备份到备份服务器,但定时同步效果不太好,所以就换成了实时同步

rsync是linux系统下的数据镜像备份工具,支持本地复制,或者与其他SSH、rsync主机同步
inotify可以用来监控文件系统操作,如创建、删除、读取、写入等

#!/bin/bash
## this script is used for sync local files to the rsync server in real time
## written by landzf
## date: 2021/02/04

## 安装系统监控工具inotify-tools
yum -y install inotify-tools

## 编写脚本实时监控本地备份目录并同步备份文件到备份服务器
mkdir -p /etc/backup/real-time-sync.sh
cat >> /etc/backup/real-time-sync.sh <<- EOF
#!/bin/bash
inotifywait -mrq --timefmt '%Y-%m-%d %A %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib,move /backup/ |while read file
do
	rsync -vrtazp --delete --progress /backup/ rsync://backup.landzf.cn/backup/
done
EOF

## 配置脚本作为系统服务
cat >> /lib/systemd/system/real-time-sync.service <<- eof
[Unit]
Description=Real-time Sync Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/etc/backup/real-time-sync.sh start

[Install]
WantedBy=multi-user.target
eof

## 启动服务并设置开机自启
systemctl daemon-reload
systemctl start real-time-sync.service
systemctl enable real-time-sync.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值