在CentOS系统中,inotify和rsync可以结合使用以实现高效的文件同步
以下是一个简单的示例,说明如何将inotifywait(inotify-tools包的一部分)与rsync结合使用:
inotify-tools包。如果尚未安装,请运行以下命令:sudo yum install inotify-tools
sync.sh的shell脚本,并添加以下内容:#!/bin/bash
# 源目录和目标目录
src_dir="/path/to/source/directory"
dest_dir="/path/to/destination/directory"
# 使用inotifywait监视源目录中的文件变化
inotifywait -m -r -e create,delete,modify --format '%w%f' "${src_dir}" | while read file
do
# 当检测到文件变化时,使用rsync同步文件
rsync -avz --delete "${src_dir}/" "${dest_dir}"
done
请将/path/to/source/directory和/path/to/destination/directory替换为实际的源目录和目标目录路径。
chmod +x sync.sh
./sync.sh
现在,每当源目录中的文件发生变化时,inotifywait都会检测到这些变化,并触发rsync命令将更改同步到目标目录。
注意:这个示例脚本是一个简单的实现,可能需要根据实际需求进行调整。例如,可以添加日志记录、错误处理、延迟同步等功能。