在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' "<span>${SOURCE_DIR}"</span> | while read FILE do # 當檢測到文件變化時,使用rsync進行同步 rsync -avz --delete "<span>${SOURCE_DIR}/"</span> "<span>${TARGET_DIR}"</span> done
請將/path/to/source和/path/to/target替換為實際的源目錄和目標目錄。
- 為腳本文件添加可執行權限:
chmod x sync_data.sh
- 運行腳本:
./sync_data.sh
現在,每當源目錄中的文件發生變化時,inotifywait會檢測到這些變化,并觸發rsync命令將數據同步到目標目錄。
如果你希望腳本在后臺運行,可以使用nohup命令:
nohup ./sync_data.sh &
這樣,即使關閉終端,腳本也會繼續運行。