linux rsync安裝配置

rsync安裝

如下安裝在centos6.5 下應用過

# 檢查是否安裝過rsync, 如果已經安裝過需要卸載
rpm -qa|grep rsync
# 安裝了rsync 卸載
rpm -e rsync
# 下載最新rpm包(注意操作系統和位數的匹配) 
# rsync的rpm包列表地址:http://pkgs.repoforge.org/rsync
wget http://pkgs.repoforge.org/rsync/rsync-3.1.1-1.el6.rfx.x86_64.rpm
# rpm包安裝
rpm -ivh rsync-3.1.1-1.el6.rfx.x86_64.rpm
# 雲安裝
yum install rsync 

rsync服務端配置

啓動配置

  • 選擇rsync服務器啓動方式

    • rsync服務器負載比較高,則使用獨立啓動模式
    • rsync服務器負責較低,使用xinetd運行方式
  • 創建配置文件rsyncd.conf
  • 對於非匿名方式訪問的rsync服務器創建配置口令(建議配置需要口令訪問)

CentOS 默認以xinetd模式運行rsync,rsync的xinetd配置文件是/etc/xinetd.d/rsync
如果配置rsync以xinetd模式運行,執行如下命令

chkconfig rsync on
service xinetd restart
# 如果執行 service xinetd restart 發現 xinetd: unrecognized service 則未安裝xinetd服務
# 執行 yum install xinetd 安裝 xinetd服務
# 安裝之後啓動 xinetd服務(service xinetd start)

編輯rsync的xinetd配置文件/etc/xinetd.d/rsync文件,修改參數 server_args = --daemon --config=/etc/rsyncd/rsyncd.conf 可以配置rsync服務器啓動時的參數

如果使用獨立運行模式,則執行如下命令

/usr/bin/rsync --daemon
#編輯 /etc/rc.local文件 加入 /usr/bin/rsync --daemon 保證每次開機啓動都會自動啓動rsync服務

配置文件

# 創建rsync服務目錄
mkdir /etc/rsyncd
# 創建配置文件
touch /etc/rsyncd/rsyncd.conf
# 創建密碼文件
touch /etc/rsyncd/rsyncd.passwd
#權限修改
chown root:root /etc/rsyncd/rsyncd.passwd
chmod 600 /etc/rsyncd/rsyncd.passwd

配置文件語法介紹

  • 模塊
    以[模塊名稱]開始
  • 參數配置行
    格式 name = value
    其中 value的值可以是string(可以不使用引號)或者boolean(0/1,true/false,yes/no)
  • 以#開始是註釋行
  • 以\是續行符

全局參數([模塊名稱]之外的配置均爲全局配置)

  • address
    在獨立運行時,用於指定的服務器運行的 IP 地址。由 xinetd 運行時將忽略此參數,使用命令行上的 –address 選項替代
    默認值 本地所有IP
  • port
    指定 rsync 守護進程監聽的端口號。 由 xinetd 運行時將忽略此參數,使用命令行上的–port 選項替代。
    默認值是 873
  • motd file
    指定一個消息文件,當客戶連接服務器時該文件的內容顯示給客戶。
    默認值無
  • pid file
    rsync 的守護進程將其 PID 寫入指定的文件。
    默認值 無
  • log file
    指定 rsync 守護進程的日誌文件,而不將日誌發送給 syslog。
    默認值 無
  • syslog facility
    指定 rsync 發送日誌消息給 syslog 時的消息級別
    默認值 daemon
  • socket options
    指定自定義 TCP 選項。
    默認值無

模塊參數
模塊參數主要用於定義 rsync 服務器哪個目錄要被同步。模塊聲明的格式必須爲 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似於 Samba 服務器提供的共享名。而服務器真正同步的數據是通過 path 來指定的。可以根據自己的需要,來指定多個模塊,模塊中可以定義以下參數:

  • 基本模塊參數

    • path
      指定當前模塊在 rsync 服務器上的同步路徑,該參數是必須指定的
    • comment
      給模塊指定一個描述,該描述連同模塊名在客戶連接得到模塊列表時顯示給客戶
  • 模塊控制參數

    • use chroot
      若爲 true,則 rsync 在傳輸文件之前首先 chroot 到 path 參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要 root 權限,並且不能備份指向 path 外部的符號連接所指向的目錄文件。
      默認值true
    • uid
      指定該模塊以指定的 UID 傳輸文件。
      默認值 nobody
    • gid
      指定該模塊以指定的 GID 傳輸文件。
      默認值 nobody
    • max connections
      定該模塊的最大併發連接數量以保護服務器,超過限制的連接請求將被告知隨後再試。
      默認值 0 不限制
    • read only
      指定是否允許客戶上傳文件。若爲 true 則不允許上傳;若爲 false 並且服務器目錄也具有讀寫權限則允許上傳。
      默認值 true
    • write only
      指定是否允許客戶下載文件。若爲 true 則不允許下載;若爲 false 並且服務器目錄也具有讀權限則允許下載。
      默認值 false
  • 模塊認證參數

    • hosts allow
      用一個主機列表指定哪些主機客戶允許連接該模塊。不匹配主機列表的主機將被拒絕
      默認值 *

    客戶主機列表定義可以是以下形式:

    單個IP地址 例如:192.168.0.1
    整個網段 例如:192.168.0.0/24,192.168.0.0/255.255.255.0
    可解析的單個主機名 例如:centos,centos.bsmart.cn
    域內的所有主機 例如:.bsmart.cn
    ”則表示所有。
    多個列表項要用空格間隔。

    • hosts deny
      用一個主機列表指定哪些主機客戶不允許連接該模塊。
      默認值 空
    • auth users
      指定由空格或逗號分隔的用戶名列表,只有這些用戶才允許連接該模塊。這裏的用戶和系統用戶沒有任何關係。用戶名和口令以明文方式存放在 secrets file 參數指定的文件中
      默認匿名
    • secrets file
      指定一個 rsync 認證口令文件。只有在 auth users 被定義時,該文件才起作用。
      默認值 空
    • strict modes
      指定是否監測口令文件的權限。若爲 true 則口令文件只能被 rsync 服務器運行身份的用戶訪問,其他任何用戶不可以訪問該文件。
      默認值 true
      > - rsync 認證口令文件的權限一定是 600,否則客戶端將不能連接服務器。
    • rsync 認證口令文件中每一行指定一個 用戶名:口令 對,格式爲:username:passwd
    • 一般來說口令最好不要超過8個字符。若您只配置匿名訪問的 rsync 服務器,則無需設置上述參數。

配置文件實例

              

# GLOBAL OPTIONS
uid = root                         
gid = root                                  

use chroot = no                     

read only = false                           

#limit access to private LANs
hosts allow=*
hosts deny=*                                
max connections = 5                      

pid file = /var/run/rsyncd.pid             

secrets file = /etc/rsyncd/rsyncd.passwd   
#lock file = /var/run/rsync.lock           

#motd file = /etc/rsyncd/rsyncd.motd        

#This will give you a separate log file
log file = /data/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

# MODULE OPTIONS
[uploadhome]                               
path = /data/home/upload                       
list=yes                                   
ignore errors                              
auth users = lake                          
comment = lake home    


密碼文件

lake:123456             #格式   用戶名:口令               #該用戶不要求是系統用戶

查看rsync服務是否啓動
netstat -an | grep 873


rsync 客戶端

# 安裝客戶端
yum -y install rsync
# 同步命令
# -a 參數,相當於-rlptgoD
#   -r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限
#   -t 保持文件原有時間;-g 保持文#件原有用戶組;-o 保持文件原有屬主;-D 相當於塊設備文件
# -z 傳輸時壓縮;
# -P 傳輸進度;
# -v 傳輸時的進度等信息,和-P有點關係,自己試試。可以看文檔;
# 同步
rsync -avzP lake@192.168.1.208::uploadhome  /data/home/upload
# 客戶端數據和服務器端數據保持一致
rsync -avzP  --delete lake@192.168.1.208::uploadhome  /data/home/upload
# 指定傳輸時候的密碼文件,密碼文件權限 600
rsync -avzP  --delete  --password-file=/etc/rsync.password  lake@192.168.1.208::uploadhome  /data/home/upload

 
rsync -avzP [email protected]::uploadhome  /data/home/upload/
rsync -avzP [email protected]::fbarun  /data/home/run/fba_run/

rsync -avzP [email protected]::soft  /data/home/soft/


-------------------------------------------------------------------------------------- 分割線 ---------------------------------------------------------------------------------------------

centos 7.2 下使用過如下配置

簡單配置

服務端安裝配置

yum -y install rsync

服務啓動

service rsyncd start

配置文件

vim /etc/rsyncd.conf


# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:
secrets file = /etc/rsyncd.secrets
uid = nobody
gid = nobody
use chroot = yes
max connections = 5
pid file = /var/run/rsyncd.pid
# exclude = lost+found/
transfer logging = yes
timeout = 900
ignore nonreadable = yes
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[h5run]
read only = no
path = /data/happyqp/release/
comment = server game release
auth users = lake

更改權限

chown nobody:nobody /data/happyqp/release/ -R

關於/etc/rsyncd.secrets 密碼文件(這個文件權限必須爲600)


 在服務端設置:(冒號分開) 
 lake:123456


客戶端連接:

安裝

yum -y install rsync

客戶端配置密碼文件(這個文件權限必須爲600)如果不是,每次需要輸入密碼
關於/etc/rsyncd.secrets 密碼文件,和服務端不同,只要密碼。 
123456

同步命令

rsync -vzrtopg --progress --password-file=/etc/rsyncd.secrets /data/happyqp/release/h5_run [email protected]::h5run


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