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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

unison配置

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

在部署雙機熱備的情況下,要保證兩臺熱備機器上特定目錄的文件一致,需要使用文件夾雙向同步功能,unison和inotify配合使用,可以實現此效果。

操作系統 CentOS6.4 64位
兩臺機器地址分別為192.168.2.20 和 192.168.2.71

1、下載unison安裝包
http://www.seas.upenn.edu/~bcpierce/unison//download.html

2、下載unison編譯器
http://caml.inria.fr/pub/distrib/ocaml-4.02/

3、安裝編譯器
./configure
make world opt
make install

4、安裝unison
make UISTYLE=text
make install

在執行make install的過程中,可能會出現以下錯誤提示:
mv: cannot stat ‘/root/bin//unison’: No such file or directory
make: [doinstall] Error 1 (ignored)
cp unison /root/bin/
cp: cannot create regular file ‘/root/bin/’: Is a directory
make: * [doinstall] Error 1

出現錯誤的原因在與Unison默認是將文件Copy到/root/bin目錄,但Linux默認是沒有該目錄的,因此我們需要將生成的可執行文件unison復制到系統的PATH目錄。
cp unison /usr/local/bin

5、配置ssh key信任
建議通過普通用戶進行操作,理由是通過root操作本身就危險,免密碼登陸的root就更危險了。

在192.168.2.20上執行以下命令
[unison@localhost ~]$ ssh-keygen -t rsa
在提示保存私鑰(key)和公鑰(public key)的位置時,使用默認值;
在提示是否需要私鑰密碼(passphrase)時,直接敲回車,即不使用私鑰密碼。
之后,將生成一對密鑰,id_rsa(私鑰文件)和id_rsa.pub(公鑰文件),保存在/home/unison/.ssh/目錄下。

[unison@localhost ~]$ scp .ssh/id_rsa.pub unison@192.168.2.71:/home/unison/ 將公鑰拷貝到另外一臺機器上

然后在另外一臺192.168.2.71機器上執行以下命令
[unison@localhost ~]$ mv id_rsa.pub .ssh/authorized_keys
以root用戶重啟sshd
[root@localhost ~]# /etc/init.d/sshd restart

192.168.2.20上測試是否配置成功
[unison@localhost ~]$ ssh 192.168.2.71 date 如果不用輸入密碼直接登錄,就說明配置成功

用同樣的方式,在192.168.2.71上完成配置

6、修改unison配置
[unison@localhost ~]$ vi .unison/default.prf

Unison preferences file

#
#
root=/home/unison/test
root=ssh://unison@192.168.2.71//home/unison/test
batch=true
fastcheck=true
logfile=/home/unison/.unison/unison.log
repeat=1 #一秒執行一次檢查

owner=true #保持同步過來的文件屬主

group=true #保持同步過來的文件組信息

注意,owner和group為true的情況下,非unison用戶創建的文件同步失敗,因為同步過了之后,執行chown會提示無權限
如果要保持屬主和組一致,就要用root賬戶來執行同步

7、設置成開機啟動
以root用戶將 su - unison -c unison 寫入rc.local

這時,通過repeat來重復檢查,如果目錄下文件太多的話,會導致unison資源占用太多,
設置repeat=0,使用inotify配合使用,可以在文件發生增刪改的情況下,啟動unison,執行一次同步

8、inotify安裝
下載源碼 https://sourceforge.net/projects/inotify-tools/files/inotify-tools/
[root@localhost unison]# tar xfv inotify-tools-3.13.tar.gz
[root@localhost inotify-tools-3.13]# ./configure
[root@localhost inotify-tools-3.13]# make
[root@localhost inotify-tools-3.13]# make install

9、編寫inotify執行腳本
[root@localhost unison]# vi notify.sh

LOG=/home/unison/inotify.log
inotifywait -mrq -e create,delete,modify,move /home/unison/test | while read line; do
unison
echo -n “line">>LOG
echo date | cut -d " " -f1-4 >> $LOG
done

此處inotifywait -mrq -e create,delete,modify,move表示要監測create,delete,modify,move四類文件操作,可以根據需要配置監測的操作
注意,首先要將unison的配置文件里面的repeat設置為0或者注釋掉,這樣unison只執行一次就退出了。

10、將inotify腳本添加到開機啟動
nohup su - unison -c /home/unison/notify.sh &

總結

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

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