inotify 是 Linux 系統中的一個內核子系統,它可以監控文件系統事件,如文件的創建、修改、刪除等。要利用 inotify 實現 Ubuntu 文件同步,你可以使用 inotify-tools 軟件包中的 inotifywait 命令。以下是一個簡單的示例,說明如何使用 inotifywait 監控文件夾并在檢測到更改時執行同步操作。
inotify-tools。在終端中運行以下命令來安裝它:sudo apt-get update
sudo apt-get install inotify-tools
sync.sh 的 shell 腳本,并添加以下內容:#!/bin/bash
# 源文件夾和目標文件夾的路徑
src_folder="/path/to/source/folder"
dest_folder="/path/to/destination/folder"
# 使用 inotifywait 監控源文件夾
inotifywait -m -r -e create,modify,delete --format '%w%f' "${src_folder}" | while read file
do
# 當檢測到文件更改時,執行 rsync 命令進行同步
rsync -av --delete "${src_folder}/" "${dest_folder}"
done
請確保將 /path/to/source/folder 和 /path/to/destination/folder 替換為實際的源文件夾和目標文件夾路徑。
chmod +x sync.sh
./sync.sh
現在,每當源文件夾中的文件發生更改時,inotifywait 將檢測到這些更改,并使用 rsync 命令將更改同步到目標文件夾。
注意:這個示例僅適用于單個文件夾的同步。如果你需要同步多個文件夾或整個目錄樹,你可能需要修改腳本以滿足你的需求。此外,這個腳本在后臺運行,你可能需要將其放在后臺運行或在系統啟動時自動運行。