在Ubuntu系统中,使用inotify可以实现文件夹的实时同步。以下是使用inotify-tools和rsync实现文件夹同步的步骤:
sudo apt-get update sudo apt-get install inotify-tools
sync_folders.sh
的脚本文件,用于存放同步命令。在终端中输入以下命令:nano sync_folders.sh
#!/bin/bash # 源文件夹和目标文件夹路径 SOURCE_DIR="/path/to/source/folder" TARGET_DIR="/path/to/target/folder" # 使用inotifywait监控源文件夹的变化,并使用rsync进行同步 inotifywait -m -r -e create,delete,modify --format '%w%f' "${SOURCE_DIR}" | while read FILE do rsync -avz --delete "${SOURCE_DIR}/" "${TARGET_DIR}" done
将/path/to/source/folder
替换为你要监控的源文件夹路径,将/path/to/target/folder
替换为你要同步到的目标文件夹路径。
保存并退出编辑器: 按Ctrl + X
,然后按Y
,最后按Enter
键保存并退出编辑器。
为脚本文件添加执行权限: 在终端中输入以下命令:
chmod +x sync_folders.sh
./sync_folders.sh
现在,每当源文件夹发生变化时,inotify都会检测到,并使用rsync将更改同步到目标文件夹。
注意:这个脚本会一直运行,直到你手动停止它。如果你想在后台运行它,可以使用nohup
命令:
nohup ./sync_folders.sh &
这样,即使关闭终端,脚本也会继续运行。