Unison 的相关参数介绍
Unison 的相關參數介紹
1.-testserver
測試連通性,連接到服務器即退出。示例:
$ unison / ssh://opensou1@bluehost/ -servercmd=~/bin/unison -testserver
如果服務器端 unison 可執行文件不在默認目錄下,甚至沒有 unison 命令(需要你編譯一個上傳到服務器),則需要使用 -servercmd 參數告訴要執行的服務器 unison 命令位置。
使用 -testserver 參數,則成功鏈接即退出,也不會去執行目錄的比較等后續操作。
2.-servercmd
告訴 unison, 服務器端的 unison 命令是什么。
3.-auto
接受缺省的動作,然后等待用戶確認是否執行。
4.-batch
batch mode, 全自動模式,接受缺省動作,并執行,無需人為干預。
5.-ignore xxx
同步時可以忽略的目錄和路徑,增加 xxx 到忽略列表中
6.-ignorecase [true|false|default]
是否忽略文件名大小寫
7.-follow xxx
是否支持對符號連接指向內容的同步,會把軟鏈接指向內容進行同步
8.-immutable xxx
指定不變化的目錄,掃描時可以忽略該目錄,不同步該目錄
9.-path xxx 參數
只同步 -path 參數指定的子目錄以及文件,而非整個目錄。-path 在配置中可以多次出現,例如
unison /home/username ssh://remotehost//home/username
-path shared
-path pub
-path .netscape/bookmarks.html
10.其他參數
owner = true (保持同步過來的文件屬主)
group = true (保持同步過來的文件組信息)
perms = -1 (保持同步過來的文件讀寫權限)
repeat = 1 (間隔1秒后,開始新的一次同步檢查)
retry = 3 (失敗重試)
sshargs = -C (使用ssh的壓縮傳輸方式)
xferbycopying = true (這個是優化參數,默認true)
silent (安靜模式 除了錯誤,不打印任何信息)
times (同步修改時間 同步mtime)
maxthreads n (指定文件同步的最大線程數)
rsync (默認是true,激活rsync傳輸模式)
log (記錄unison運行日志,默認true)
logfile (日志輸出到文件)
默認的配置文件夾位于~currentuser/.unison,即當前用戶的home目錄下,windows則位于C:\Documents and Settings\currentuser.unison
默認的配置文件名是default.prf
Archive文件也可以有多個,這個文件記錄每次完成同步后每個文件的狀態,可以在下次更新動作中更快判斷文件是否應該更新,減少掃描時間。
運行這樣的命令:
#unison exitgogo
Unison將默認讀取~currentuser/.unison/exitgogo.prf文件里的配置信息.我的配置信息在/root/.unison/exitgogo.prf
因此我們可以根據上面參數的介紹,把所有的參數配置信息寫入到一個.prf的文件中.
下面是我的一個web應用中兩個文件夾同步的配置信息:
root = /sina/webdata
root = ssh://root@192.168.60.121//sina/webdata
#force =/sina/webdata
ignore = Path as/*
#prefer = ssh://root@192.168.60.121//sina/webdata
batch = true
#repeat = 1
#retry = 3
owner = true
group = true
perms = -1
fastcheck=false
rsync =false
#debug=verbose
sshargs = -C
xferbycopying = true
log = true
logfile = /root/.unison/sina_122.1547.log
說明如下:
兩個root表示需要同步的文件夾
force表示以本地的/var/www/bbsnew文件夾為標準,將該目錄同步到遠端。注意,如果指定了force參數,那么unison就變成了單項同步了,也就是說會以force指定的文件夾為準進行同步.
Unison本身是可以雙向同步的,但是要做到雙向同步,就不要設置force參數,如果設置了force參數,就成了單項同步了,此時unison類似與sync.
Unison雙向同步基本原理是:假如有A B兩個文件夾,A文件夾把自己的改動同步到B,B文件夾也把自己的改動同步到A,最后A B兩文件夾的內容相同,是 A B文件夾的合集.
Unison雙向同步的一個缺點是,對于一個文件在兩個同步文件夾中都被修改時,unison是不會去同步的,因為unison無法判斷以那個為準.
ignore = Path表示忽略/sina/webdata下面的WEB-INF/tmp目錄,即同步時不同步它。
batch = true,表示全自動模式,接受缺省動作,并執行
-fastcheck true表示同步時使用文件的創建時間來比較兩地文件,如果這個選項為false,unison則將比較兩地文件的內容.建議設置為true
log = true表示在終端輸出運行信息。
logfile則指定了同時將輸出寫入log文件。
unison FAQ
如何在和遠程服務器同步大量數據,上傳一部分數據后,超時:
9% 559:15 ETARead from remote host bluehost: Connection reset by peer
Fatal error: Lost connection with the server
實際操作中,最好的方法是,第一次先把要上傳的文件打成包,用 ftp 上傳,然后展開到服務器,之后執行一次 unison 同步。
總結
以上是生活随笔為你收集整理的Unison 的相关参数介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初、中、高级程序员的区别有哪些
- 下一篇: 【期末划重点】数据库速成