在Debian系統下,你可以使用inotify-tools
來實現文件同步。inotify-tools
是一套基于Linux內核的inotify功能的命令行工具,可以用來監控文件系統事件并執行相應的操作。
首先,你需要安裝inotify-tools
。在終端中運行以下命令:
sudo apt-get update
sudo apt-get install inotify-tools
接下來,你可以創建一個簡單的腳本來實現文件同步。例如,創建一個名為sync_files.sh
的腳本,并添加以下內容:
#!/bin/bash
# 源目錄和目標目錄
src_dir="/path/to/source/directory"
dest_dir="/path/to/destination/directory"
# 使用inotifywait監控源目錄
inotifywait -m -r -e create,delete,modify --format '%w%f' "${src_dir}" | while read file
do
# 獲取相對路徑
relative_path="${file#$src_dir}"
dest_file="${dest_dir}/${relative_path}"
# 創建目標目錄(如果不存在)
mkdir -p "$(dirname "$dest_file")"
# 根據事件類型執行同步操作
case $event in
CREATE)
cp -u "$file" "$dest_file"
;;
DELETE)
rm -f "$dest_file"
;;
MODIFY)
cp -u "$file" "$dest_file"
;;
esac
done
確保將src_dir
和dest_dir
變量設置為你要同步的源目錄和目標目錄。
保存腳本并為其添加可執行權限:
chmod +x sync_files.sh
現在,你可以運行此腳本來實時同步文件:
./sync_files.sh
這個腳本會持續運行并監控源目錄中的文件變化。當有文件被創建、刪除或修改時,它會將這些更改同步到目標目錄。
請注意,這個腳本是一個簡單的示例,可能需要根據你的具體需求進行調整。例如,你可能需要處理符號鏈接、忽略特定文件或目錄等。