在Ubuntu系统中,可以使用inotify-tools
和rsync
来实现文件或目录的实时监控和数据同步。以下是设置触发器进行数据同步的步骤:
inotify-tools
和rsync
:sudo apt-get update
sudo apt-get install inotify-tools rsync
sync_data.sh
,并添加以下内容:#!/bin/bash
# 源目录和目标目录
SOURCE_DIR="/path/to/source"
TARGET_DIR="/path/to/target"
# 使用inotifywait监控源目录的变化
inotifywait -m -r -e create,delete,modify --format '%w%f' "${SOURCE_DIR}" | while read FILE
do
# 当检测到文件变化时,使用rsync进行同步
rsync -avz --delete "${SOURCE_DIR}/" "${TARGET_DIR}"
done
请将/path/to/source
和/path/to/target
替换为实际的源目录和目标目录。
chmod +x sync_data.sh
./sync_data.sh
现在,每当源目录中的文件发生变化时,inotifywait
会检测到这些变化,并触发rsync
命令将数据同步到目标目录。
如果你希望脚本在后台运行,可以使用nohup
命令:
nohup ./sync_data.sh &
这样,即使关闭终端,脚本也会继续运行。