在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 &
這樣,即使關閉終端,腳本也會繼續運行。