溫馨提示×

如何利用inotify實現Ubuntu文件同步

小樊
43
2025-10-01 22:20:22
欄目: 智能運維

inotify 是 Linux 系統中的一個內核子系統,它可以監控文件系統事件,如文件的創建、修改、刪除等。要利用 inotify 實現 Ubuntu 文件同步,你可以使用 inotify-tools 軟件包中的 inotifywait 命令。以下是一個簡單的示例,說明如何使用 inotifywait 監控文件夾并在檢測到更改時執行同步操作。

  1. 首先,確保你已經安裝了 inotify-tools。在終端中運行以下命令來安裝它:
sudo apt-get update
sudo apt-get install inotify-tools
  1. 創建一個名為 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 替換為實際的源文件夾和目標文件夾路徑。

  1. 為腳本添加可執行權限:
chmod +x sync.sh
  1. 運行腳本:
./sync.sh

現在,每當源文件夾中的文件發生更改時,inotifywait 將檢測到這些更改,并使用 rsync 命令將更改同步到目標文件夾。

注意:這個示例僅適用于單個文件夾的同步。如果你需要同步多個文件夾或整個目錄樹,你可能需要修改腳本以滿足你的需求。此外,這個腳本在后臺運行,你可能需要將其放在后臺運行或在系統啟動時自動運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女