日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

unison 安装使用

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unison 安装使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

##編譯安裝ocaml,unison依賴于ocaml

???????? ##編譯安裝unison,安裝依賴性包

##其他一臺主機和上面的配置相同,步驟省略

##配置免密登陸

##測試:

##配置文件啟動運行:

####配置文件:

####配置文件解析:

##實時同步:


安裝:

https://caml.inria.fr/pub/distrib/ocaml-4.02/

https://www.seas.upenn.edu/~bcpierce/unison//download/releases/

##編譯安裝ocaml,unison依賴于ocaml

[root@VOP-CS18 src]# yum -y install ctags-etags

[root@VOP-CS18 soft]# ll

-rw-r--r-- 1 root root 4211784 Aug 28 14:43 ocaml-4.02.0.tar.gz

-rw-r--r-- 1 root root 691251 Aug 28 14:41 unison-2.51.2.tar.gz

[root@VOP-CS18 soft]# tar xf ocaml-4.02.0.tar.gz -C /app

[root@VOP-CS18 soft]# pwd

/app/soft

[root@VOP-CS18 ocaml-4.02.0]# cd /app/ocaml-4.02.0/

[root@VOP-CS18 ocaml-4.02.0]# ./configure

** OCaml configuration completed successfully **(出現此行則顯示成功)

[root@VOP-CS18 ocaml-4.02.0]# make world opt

[root@VOP-CS18 ocaml-4.02.0]# make install

##編譯安裝unison,安裝依賴性包

[root@VOP-CS18 soft]# tar xf unison-2.51.2.tar.gz -C /usr/local/

解壓出來的文件夾為src/,進入/usr/local/src下

[root@VOP-CS18 src]# make UISTYLE=text THREADS=true STATIC=true

??? 倘若出錯,則運行 make UISTYLE=text,再出錯:多執行幾次,忽略這個錯誤。(UISTYLE=text THREADS=true STATIC=true 表示:使用命令方式,加入線程支持,以靜態模式編譯)

#[root@VOP-CS18 src]# cp ./unison /usr/local/bin

#倘若配置免密需要使用的不是root用戶,或者說運行unison的不是root用戶而是有sudo權限的其他用戶,那么需要執行cp這條命令,且需要執行以下其中一種權限賦予方式使其具有可執行權限。還需要保證/usr/local/bin 在PATH路徑之下。

???????????? 1.chown -R deployer: /usr/local/bin/unison ;chmod -R? 755 /usr/local/bin/unison

???????????? 2.chmod -R o+x /usr/local/bin/unison

##[root@VOP-CS18 src]# mkdir /root/bin

[root@VOP-CS18 src]# make install && echo "sucess"

##其他一臺主機和上面的配置相同,步驟省略

##配置免密登陸

10.124.5.215:

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub deployer@10.124.5.216

10.124.5.216免密登錄10.124.5.215:

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub deployer@10.124.5.215

##測試:

指定需要同步的文件夾的用戶和組

[root@VOP-CS18 test_1]# chown -R deployer: /tmp/test_1/

執行以下命令:

[deployer@VOP-CS18test_1]# unison -batch -servercmd=/usr/local/bin/unison /tmp/test_1 ssh://deployer@10.124.5.215//tmp/test_1

需要指定unison的路徑,否則它會到/root/bin/unison尋找

?

##配置文件啟動運行:

??????? 盡管可以完全通過命令行的方式來指定unison運行所需要的參數,但我還是推薦使用配置文件來進行配置使用unison,原因很簡單,看配置文件比看命令行容易理解,而且可管理性更強。

??? 默認的配置文件夾位于~/.unison,即當前用戶的home目錄下,windows則位于C:Documents and Settingscurrentuser.unison,默認的配置文件名是default.prf

???????? deployer用戶家目錄下的/home/deployer/.unison/default.prf 是默認的配置文件。

???????? 兩端的配置文件只需要在其中一端配置就可以實現雙向同步。

[deployer@VOP-CS18 .unison]$ unison

??????? 直接執行unison ,它讀取該用戶的家目錄下的.unison下尋找default.prf文件。

??????? 如果將default.prf 改成了config.prf ,那我們同步時需要執行:unison config

####配置文件:

root = /tmp/test_1

root = ssh://deployer@10.124.5.215//tmp/test_1

#force =/tmp/test_1

servercmd=/usr/local/bin/unison

#ignore =/tmp/test_1/a

batch = true

#repeat = 1

#retry = 3

owner = true

group = true

perms = -1

#fastcheck = false

#rsync = false

sshargs = -C

#xferbycopying = true

confirmbigdel=false

log = true

logfile = /home/deployer/.unison/unison.log

####配置文件解析:

1.兩個root表示需要同步的文件夾。

2.force表示以本地的/tmp/test_1文件夾為標準,將該目錄同步到遠端,開啟后則變成單項同步

3.ignore = Path表示忽略/tmp/test_1/a目錄,即同步時不同步它。

4.?batch=true 表示全自動模式,接受并執行默認動作

5.log = true表示在終端輸出運行信息。

6.logfile則指定了同時將輸出寫入log文件。

7.owner = true //保持同步過來的文件屬主?

8.group = true //保持同步過來的文件組信息?

9.perms = -1 //保持同步過來的文件讀寫權限?

10.repeat = 1 //間隔1秒后,開始新的一次同步檢查?

11.retry = 3 //失敗重試?

12.sshargs = -C //使用ssh的壓縮傳輸方式?

fastcheck true 表示同步時僅通過文件的創建時間來比較,如果選項為false,Unison則將比較兩地文件的內容。?

auto //接受缺省的動作,然后等待用戶確認是否執行。?

ignore xxx //增加 xxx 到忽略列表中? :經測試此參數不能用。

ignorecase [true|false|default] //是否忽略文件名大小寫?

follow xxx //是否支持對符號連接指向內容的同步?

xferbycopying = true

immutable xxx //不變目錄,掃描時可以忽略?

silent //安靜模式?

times=true //同步修改時間?

path xxx 參數 //只同步 -path 參數指定的子目錄以及文件,而非整個目錄,-path 可以多次出現。

confirmbigdel=false//默認值為true,表示當需要同步的兩個目錄一個為空時,unison將停止,這里設置為false,即便為空unison也不會停止運轉

?

##實時同步:

1.可以使用crontab :

/2 * * * /usr/local/bin/unison > /dev/null

service crond reload

2.可以使用repeat=1參數,每秒同步一次

3.可以搭配inotify實現實時同步,此方法可以解決在unison之前在兩端同時修改同一個文件而造成的不同步的問題。

?

總結

以上是生活随笔為你收集整理的unison 安装使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。