兩臺ubuntu 服務器之間,文件通過sync服務同步

前提:

  1. 兩臺ubuntu服務器,且兩臺服務器之間通信正常。

  2. 服務器需要同步的文件做好備份。

兩臺服務器IP分別爲:192.168.1.20 和 192.168.1.30

首先,用

lsof -i:873

命令,查看端口873有沒有被服務佔用,如果出現如下顯示,則表明sync服務已經安裝。

兩臺ubuntu 服務器之間,文件通過sync服務同步 - wangkuen882003 - 心隨夢飛

如果沒有安裝sync服務的服務器,請通過執行

apt-get install sync

安裝服務,如果是centos服務器,請使用

yum -y install sync

配置服務端:


服務安裝好之後,/etc下沒有配置文件,一般情況可以copy示例文件到/etc下 

#cp /usr/share/doc/rsync/examples/rsyncd.conf /etc

然後打開這個文件:

#vi /etc/rsyncd.conf

文件全局內容配置爲:

uid=rootgid=rootmax connections=36000use chroot=nolog file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidlock file=/var/run/rsyncd.lockhosts allow = 192.168.1.30hosts deny = *

下面開始配置同步域內容:

[XXX_NAME]# sync of dir pathpath=/var/www/path_name# Miss I/O errorsignore errors = yesread only = no# hosts allow = 192.168.1.30# hosts deny = *#允許的用戶名auth users =username#對應的密碼文件secrets file = /etc/rsyncd.secrets

修改完後在/etc/下新建一文件rsyncd.secrets

#vi /etc/rsyncd.secretsusername:passwd:wq


修改rsyncd.pass權限 

#chmod 600 /etc/rsyncd.secrets


現在就可以啓動rsync了 

service rsync restart

啓動成功後可以用

lsof -i:873

查看是否正常啓動,也可以查看/var/log/rsyncd.log日誌文件。 


下面是客戶端:

vi sync_test.sh     rsync -avz --progress --password-file=/etc/rsyncd.passwd  [email protected]::XXX_NAME  /path_name/

新建密碼文件:

vi /etc/rsyncd.passwdpasswd:wdchmod 600 /etc/rsyncd.passwd        (很重要,如果權限不對,會造成同步失敗)

執行sh文件,查看效果

sh sync_test.sh

如果服務器有防火牆,請自行把873端口開放


常用參數列表:

    -v :觀察模式,可以列出更多的資訊;       -q :與 -v  相反,安靜模式,輸出的資訊比較少;       -r :遞迴複製!可以針對"目錄"來處理!很重要!       -u :僅更新 (update),不會覆蓋目標的新檔案;       -l :複製連結檔的屬性,而非連結的目標原始檔案內容;       -p :複製時,連同屬性 (permission) 也保存不變!       -g :保存原始檔案的擁有羣組;       -o :保存原始檔案的擁有人;       -D :保存原始檔案的裝置屬性 (device)       -t :保存原始檔案的時間參數;       -I :忽略更新時間 (mtime) 的屬性,檔案比對上會比較快速;       -z :加上壓縮的參數!       -e :使用的通道協定,例如使用 ssh 通道,則 -e ssh       -a :相當於 -rlptgoD ,所以這個 -a 是最常用的參數了!       --progress:在傳輸時顯示傳輸過程           --delete:刪除那些客戶端存在而服務端已經不存在的文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章