前言
? 開發時習慣將所有專案將在統一檔案夾下,運行目錄在其它目錄;如果每次修改后又copy到運行目錄就很蛋疼,于是找到了同步本地檔案夾這個解決方法,監聽作業目錄的檔案修改,同步到運行目錄,
思路
- 用inotify監控檔案夾,如果檔案夾內有檔案變化則輸出變化情況
- 每當inotify檢測到檔案變化時,就呼叫unison,把當前檔案夾的變化發給另一個檔案夾
- 創建兩個行程分別進行單向同步,從而變成了雙向同步,
程式安裝
sudo apt install -y inotify-tools unison
單向同步
將下面代碼保存為syncto.sh
#/bin/bash
# $1: from 作業檔案夾
# $2: to 運行檔案夾
unison -batch $1 $2
inotifywait -mrq -e create,delete,modify,move $1 | while read line; do
unison -batch $1 $2
done
運行
-
單向同步
- 運行
nohup syncto.sh 作業檔案夾 運行檔案夾 &
- 運行
-
雙向同步
-
將下面代碼保存為
syncboth.shnohup syncto.sh $1 $2 & nohup syncto.sh $2 $1 & -
運行
bash syncboth.sh 作業檔案夾 運行檔案夾
-
注意
作業檔案夾、運行檔案夾都必須使用絕對路徑,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/543838.html
標籤:其他
上一篇:Hyper-V添加內部NAT網路
下一篇:STM32 SPI硬體NSS
