温馨提示×

Debian下inotify与rsync如何结合使用

小樊
50
2025-08-24 08:56:38
栏目: 智能运维

在Debian系统下,你可以将inotifyrsync结合使用,以便在文件或目录发生变化时自动同步数据。以下是一个简单的示例,说明如何使用inotifywait(来自inotify-tools包)和rsync实现这一目标。

  1. 首先,确保已安装inotify-toolsrsync。如果尚未安装,请运行以下命令:
sudo apt-get update
sudo apt-get install inotify-tools rsync
  1. 创建一个名为sync.sh的脚本,并添加以下内容:
#!/bin/bash

# 源目录和目标目录
src_dir="/path/to/source/directory"
dest_dir="/path/to/destination/directory"

# 使用inotifywait监视源目录中的变化
inotifywait -m -r -e modify,attrib,close_write,move,create,delete --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替换为实际的源目录和目标目录路径。

  1. 为脚本添加可执行权限:
chmod +x sync.sh
  1. 运行脚本:
./sync.sh

现在,每当源目录中的文件或目录发生变化时,inotifywait将检测到这些变化,并触发rsync命令来同步数据。

注意:这个示例脚本会一直运行,直到你手动停止它。你可以根据需要对其进行修改,例如添加日志记录功能或使用nohup在后台运行。

0