溫馨提示×

如何使用inotify進行文件備份

小樊
47
2025-05-28 00:39:10
欄目: 編程語言

inotify 是 Linux 系統中的一個功能,它可以監控文件系統事件,如文件的創建、修改、刪除等。要使用 inotify 進行文件備份,你可以結合 inotifywait 命令和 rsync 或其他備份工具來實現自動化的文件備份。

以下是一個簡單的示例,展示了如何使用 inotifywaitrsync 進行文件備份:

  1. 首先,確保你已經安裝了 inotify-toolsrsync。在大多數 Linux 發行版中,可以使用以下命令安裝:

    sudo apt-get install inotify-tools rsync
    
  2. 創建一個腳本文件,例如 backup.sh,并添加以下內容:

    #!/bin/bash
    
    # 源目錄和目標目錄
    SRC_DIR="/path/to/source/directory"
    DEST_DIR="/path/to/destination/directory"
    
    # 使用 inotifywait 監控源目錄中的文件變化
    inotifywait -m -r -e create,modify,delete --format '%w%f' "${SRC_DIR}" | while read FILE
    do
        # 使用 rsync 同步文件到目標目錄
        rsync -av --delete "${SRC_DIR}/" "${DEST_DIR}"
    done
    

    在這個腳本中,inotifywait 的參數解釋如下:

    • -m:監控模式,持續監控文件系統事件。
    • -r:遞歸監控子目錄。
    • -e:指定要監控的事件類型,這里我們監控創建(create)、修改(modify)和刪除(delete)事件。
    • --format '%w%f':自定義輸出格式,這里我們只輸出發生變化的文件路徑。
  3. 為腳本添加可執行權限:

    chmod +x backup.sh
    
  4. 運行腳本:

    ./backup.sh
    

現在,每當源目錄中的文件發生變化時,inotifywait 會檢測到這些變化,并觸發 rsync 命令將文件同步到目標目錄。這樣,你就可以實現實時的文件備份。

注意:這個示例僅適用于單個目錄的備份。如果你需要監控多個目錄或實現更復雜的備份策略,你可能需要根據實際需求修改腳本。

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