Ubuntu下多伺服器 Rsync同步映象服務配置

2021-09-06 20:17:37 字數 4721 閱讀 2369

主伺服器:192.168.5.13_ubuntu

從伺服器:192.168.5.11_centos

***************=== 1> 在兩台主機上分別安裝rsync***************====

ubuntu安裝如下:

# apt-get install rsync

rsync.samba.org/ 或者 samba.anu.edu.au/rsync

解壓縮進目錄後執行 #./configure && make && make install

正常情況很快就安裝完畢,rsync 伺服器架設比較簡單,可我們安裝好rsync後,並沒有發現配置檔案以及rsync伺服器啟動程式,因為每個管理員可能對rsync 用途不一樣,所以一般的發行版只是安裝好軟體就完事了,讓管理員來根據自己的用途和方向來自己架設rsync伺服器。

********************=2> rsync伺服器的配置 ********************=

在/etc目錄下建立乙個rsyncd的目錄,我們用來存放rsyncd.conf,rsyncd.secrets和rsyncd.motd檔案;

rsyncd.conf 是rsync伺服器的主配置檔案;

rsyncd.secrets是使用者密碼檔案;

rsyncd.motd配置一些服務歡迎及說明資訊;

a>建立修改 rsyncd.conf

rsyncd.conf 是rsync伺服器主要配置檔案,我們來個簡單的示例;比如我們要備份伺服器上的 /tmp/目錄 ,在/tmp/ 中,我想把test目錄和test.php檔案排除在外;

zhouda# cd /etc

zhouda# mkdir rsyncd

zhouda# cd rsyncd

zhouda# vi rsyncd.conf

寫入(保證檔案中每行沒有空格):

pid file = /var/run/rsyncd.pid

port = 873

address = 192.168.5.13

#uid = nobody

#gid = nobody

uid = root

gid = root

use chroot = yes

read only = yes

#limit access to private lans

#設定可訪問的主機:如果多個ip則用空格隔開:192.168.5.3 192.168.5.4 192.168.5.5或者設定區間 192.168.5.3/5

hosts allow=192.168.5.11 192.168.5.14

hosts deny=*

max connections = 5

motd file = /etc/rsyncd/rsyncd.motd

#this will give you a separate log file

log file = /var/log/rsync.log

#this will log every file transferred - up to 85,000+ per user, per sync

transfer logging = yes

log format = %t %a %m %f %b

syslog facility = local3

timeout = 300

#方括號中設定模組名

[linuxsirhome]

#要同步伺服器的目錄路徑

path = /www/

list=yes

ignore errors

#auth users是必須在伺服器上存在的真實的系統使用者,如果你想用多個使用者,那就以,號隔開;比如 auth users = roger,linuxsir

auth users = roger

#從伺服器訪問需要的密碼檔案

secrets file = /etc/rsyncd/rsyncd.secrets

comment = linuxsir tmp

#設定不同步的目錄或檔案用空格隔開

exclude = test/ test.php

b> 建立修改密碼檔案rsyncd.secrets

zhouda#cd /etc/rsyncd

zhouda#vi rsyncd.secrets

寫入:roger: roger

退出儲存。

修改許可權密碼檔案的許可權:

zhouda#chmod 600 rsyncd.secrets

c> 建立修改rsync.motd檔案

rsyncd.motd是定義rysnc 伺服器資訊的,也就是使用者登入資訊。比如讓使用者知道這個伺服器是誰提供的等;類似ftp伺服器登入時,我們所看到的 linuxsir.org ftp

……。 當然這在全域性定義變數時,並不是必須的,你可以用#號注掉,或刪除;如:

zhouda#vi rsyncd.motd

寫入:welcome!

********************= 3> 啟動rsync服務********************===

zhouda#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

**********== 4> 主伺服器已經配置好rsync!下面我們設定從伺服器**********==

從伺服器只需安裝rsync即可,如果沒有安裝可以yum install rsync 然後執行:

zhouda# /usr/bin/rsync -vzrtopg --progress [email protected]::linuxsirhome  /tmp

#因為沒有指定密碼檔案,所以需要手動輸入主伺服器上的設定的密碼

輸入密碼:roger

roger是指定密碼檔案中的使用者名稱

::linuxsirhome 表示在rsyncd.conf中設定的模組名

/tmp是從伺服器目錄(192.168.5.11/tmp)

到此為止,rsync的兩台主機之間(192.168.5.11/tmp和192.168.5.14/tmp)的rsync同步已經配置完畢,只要在從伺服器執行上述命令輸入密碼即可同步。

注:下面這個命令列中-vzrtopg裡的v是verbose,

z是壓縮傳輸,

r是recursive,

topg都是保持檔案原有屬性如屬主、時間的引數。

u是只同步已經更新的檔案,避免沒有更新的檔案被重複更新一次,不過要注意兩者機器的時鐘的同步。

--progress是指顯示出詳細的進度情況,

--delete是指如果伺服器端刪除了這一檔案,那麼客戶端也相應把檔案刪除,保持真正的一致。後面的[email protected]::linuxsirhome中,之後的linuxsirhome是模組名,也就是在/etc/rsyncd /rsyncd.conf中自定義的名稱,roger是指定模組中指定的可以同步的使用者名稱。最後的/root/www是備份到本地的目錄名。在這裡面,還可以用-e ssh的引數建立起加密的連線。

可以用–password-file=/root/rsync.pass來指定密碼檔案,這樣就可以在指令碼中使用而無需互動式地輸入驗證密碼了,這裡需要注意的是這份密碼檔案許可權屬性要設得只有屬主可讀。

zhouda#/usr/bin/rsync -vzrtopg --progress --delete --password-file=/root/rsync.pass [email protected]::linuxsirhome /root/www

***************===5> 設定主從伺服器定定時自動同步***************===

自動同步要用到從伺服器上的crond服務,關於crond的介紹請參考:linux定時執行系統

我們在從伺服器即192.168.5.11的/root/www目錄下建立兩個rsync.sh檔案和rsync.pass檔案。

rsync.sh檔案是crond要執行的指令碼檔案。

rsync.pass是儲存主伺服器密碼的檔案。

a>建立rsync.sh檔案

zhouda#cd /tmp

zhouda#vi rsync.sh

寫入:/usr/bin/rsync -vzrtopg --progress [email protected]::linuxsirhome /root/www --password-file=/root/www/rsync.pass

退出儲存。

b> 建立rsync.pass密碼檔案

zhouda#vi rsync.pass

寫入:roger

退出儲存並修改許可權:

zhouda#chmod 600 rsync.pass

zhouda# chmod 777 rsync.sh

c> 配置crond服務

zhouda#crontab -e

新增一行:

*/1 * * * * /root/www/rsync.sh  //即每分鐘同步一次

退出儲存。

設定完畢,首先自己也手工執行下./rsync.sh,看看是否能正常執行.

以後每隔一分鐘即會把主伺服器/www目錄更新至從伺服器/root/www.

具體引數:

ubuntu下tft伺服器和nfs伺服器的搭建

ubuntu安裝tftp伺服器 1.安裝包 sudo apt get install tftp hpa tftpd hpa 前者客戶程式,後者服務程式 sudo apt get install openbsd inetd sudo apt get install xinetd 2.建tftp共享目錄...

Ubuntu下建立tftp伺服器

1 安裝程式 sudo apt get install tftp tftpd sudo apt get install openbsd inetd 2 新建資料夾 cd sudo mkdir tftpboot sudo chmod 777 tftpboot 3 修改存放目錄 sudo vi etc ...

UBUNTU下TFTP伺服器搭建

1.1搭建tftp伺服器 tftp trivial file transfer protocol,簡單檔案傳輸協議 是乙個基於udp協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於開銷不大 不複雜的應用場合。tftp協議專門為小檔案傳輸而設計,只能從伺服器上獲取檔案,或者向伺服器寫入...