在Ubuntu系統(tǒng)中,可以使用inotify-tools和rsync來(lái)實(shí)現(xiàn)文件或目錄的實(shí)時(shí)監(jiān)控和數(shù)據(jù)同步。以下是設(shè)置觸發(fā)器進(jìn)行數(shù)據(jù)同步的步驟:
- 安裝inotify-tools和rsync:
sudo apt-get update sudo apt-get install inotify-tools rsync
- 創(chuàng)建一個(gè)腳本文件,例如sync_data.sh,并添加以下內(nèi)容:
#!/bin/bash # 源目錄和目標(biāo)目錄 SOURCE_DIR="/path/to/source" TARGET_DIR="/path/to/target" # 使用inotifywait監(jiān)控源目錄的變化 inotifywait -m -r -e create,delete,modify --format '%w%f' "<span>${SOURCE_DIR}"</span> | while read FILE do # 當(dāng)檢測(cè)到文件變化時(shí),使用rsync進(jìn)行同步 rsync -avz --delete "<span>${SOURCE_DIR}/"</span> "<span>${TARGET_DIR}"</span> done
請(qǐng)將/path/to/source和/path/to/target替換為實(shí)際的源目錄和目標(biāo)目錄。
- 為腳本文件添加可執(zhí)行權(quán)限:
chmod x sync_data.sh
- 運(yùn)行腳本:
./sync_data.sh
現(xiàn)在,每當(dāng)源目錄中的文件發(fā)生變化時(shí),inotifywait會(huì)檢測(cè)到這些變化,并觸發(fā)rsync命令將數(shù)據(jù)同步到目標(biāo)目錄。
如果你希望腳本在后臺(tái)運(yùn)行,可以使用nohup命令:
nohup ./sync_data.sh &
這樣,即使關(guān)閉終端,腳本也會(huì)繼續(xù)運(yùn)行。