欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux rsync安裝 配置 實例詳解

 更新時間:2015年11月09日 15:05:42   投稿:mrr  
這篇文章主要介紹了linux rsync安裝 配置 實例詳解,需要的朋友可以參考下

Redhat中安裝rsync

1、  首先在服務(wù)端和客戶端都安裝rsync,我的RHEL5默認已經(jīng)安裝好了。在安裝RedHat5的時候,可以在軟件定制中的“基本系統(tǒng)”——》“基本”的“可選的軟件包”中看見:rsync-2.6.8是默認選擇安裝的

2、    也可以通過命令行檢查是否安裝:

或者:rpm –q rsync

3、  如果在開始安裝RedHat的時候,使用默認選擇的rysnc軟件,但現(xiàn)在想用更高版本的rsync,可以卸載掉rysnc,再安裝更高版本的軟件:

4、    卸載完2.6.8版本的rysnc,下面來安裝更高版本的rsync(3.0.9):



配置rsync服務(wù)器端

5、  修改rsync的配置文件

可以看到rysnc服務(wù)是關(guān)閉的(disable = yes),這里把它開啟,把disable的值改為no

6、  創(chuàng)建rsync服務(wù)器配置文件/etc/rsyncd.conf

[root@hyj etc]# vim /etc/rsyncd.conf
uid = root
gid = root
  port = 873                #    指定運行端口,默認是873,您可以自己指定
hosts allow = 192.168.0.204, 192.168.1.205     # 允許訪問的客戶機
#hosts deny = 0.0.0.0/32           #拒絕訪問的
use chroot = 
max connections = 
timeout=

## 下面這些綠色文件是安裝完RSYNC服務(wù)后自動生成的文件,當然也可以手動配置到指定路徑

pid file = /var/run/rsyncd.pid   ##pid文件的存放
lock file = /var/run/rsync.lock   ##鎖文件的存放位置
log file = /var/log/rsyncd.log   ##日志記錄文件的存放
#motd file = /etc/rsyncd.motd   #歡迎
## 上面這段是全局配置,下面的模塊可以有
  [test]          ## 模塊名字,自己命名
  path = /home/hyj/workspace/test        #指定文件目錄所在位置,這是必須指定 
  comment = rsync files             ## 注釋
ignore errors                 ##忽略IO
read only = yes 
  list = no                   ## 是否把rsync 服務(wù)器上提供同步數(shù)據(jù)的目錄顯示
  ## 下面這一行,同步驗證時用的賬號,如果沒有這項就是匿名同步,client同步時不用用戶名也能同步。
  auth users = rsync
secrets file = /etc/rsync.passwd       ## 指定認證文件

7、  然后創(chuàng)建認證文件:

[root@hyj etc]# vim /etc/rsync.passwd
 rsync:hyl            ## 用戶名:密碼。注意這個不是系統(tǒng)用戶,只是rsync用戶。

所以不用useradd。

(名字隨便寫,只要和上邊配置文件里的“auth users”參數(shù)一致即可),格式(一行一個用戶)

賬號:密碼

(2)、把密碼文件的權(quán)限改成600

[root@hyj etc]# chmod 600 /etc/rsync.passwd          ## 只能所有者可讀,否則報錯

8、   如果在配置文件中指定了歡迎信息,在/etc下創(chuàng)建rsyncd.motd,設(shè)置歡迎信息:

[root@hyj etc]# vim /etc/rsyncd.motd
      Welcome the rsync services!

啟動rsyn

9、    在啟動之前,可以先看一下rsync是否已經(jīng)啟動運行:用lsof或者nestat都可以


    根據(jù)輸出顯示state為LISTEN,表示為等待接受鏈接的狀態(tài),說明rsync已經(jīng)啟動。

    現(xiàn)在先kill掉rsync進程,kill之前為上圖,kill之后,再次執(zhí)行netstat –anp|grep 873或者lsof –i:873,結(jié)果為空:


10、 防火墻設(shè)置:

如果服務(wù)器上裝有防火墻,需在服務(wù)器中設(shè)置iptables將837端口開放。

[root@hyj ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT

11、 如果rsync進程沒有運行,在server端將rsync啟動:

(1)、啟動rsync服務(wù)端(以守護進程形式,獨立啟動)

#/usr/bin/rsync –daemon

說明啟動成功。

(切記:命令行啟動的最后是daemon,而不是deamon,否則回報如下錯誤:

rsync: --deamon: unknown option

rsync error: syntax or usage error (code 1) at main.c(1231) [client=2.6.8])

(2)、啟動rsync服務(wù)端 (以xinetd超級進程啟動)

# /etc/rc.d/init.d/xinetd reload(reload是網(wǎng)上的說法,但是我試了一下報錯,start可以)
             或者:/etc/rc.d/init.d/xinetd reload(reload是網(wǎng)上的說法,但是我試了一下報錯,start可以)

          演示:

    

12、 設(shè)置自動啟動:

本機安裝的Redhat中rsync已經(jīng)是開機自動啟動的,網(wǎng)上說的那兩種方法,配置文件中都沒有找到相應的配置,通過用chkconfig 命令查看和修改開機啟動服務(wù).
[root@hyj ~]# chkconfig

(結(jié)果部分省略),可以看出rsync處于on的狀態(tài)。

配置rsync客戶端

13、用安裝服務(wù)器端的方式安裝rsync。

14、啟動rsync,如果報如下錯誤,是因為在etc下沒有rsyncd.conf配置文件:


15、[root@hyj etc]# vi /etc/rsyncd.conf

文件內(nèi)容為空就行。然后啟動rsync,可以啟動:

命令和實例

16、Rsync的命令格式可以為以下六種:

  rsync [OPTION]... SRC DEST
  rsync [OPTION]... SRC [USER@]HOST:DEST
  rsync [OPTION]... [USER@]HOST:SRC DEST
  rsync [OPTION]... [USER@]HOST::SRC DEST
  rsync [OPTION]... SRC [USER@]HOST::DEST
  rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

17、常用為以下兩種:

(4)、rsync [OPTION]... [USER@]HOST::SRC   DEST

從遠程rsync服務(wù)器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。

如:rsync -av root@172.16.78.192::www /databack

(5)、rsync [OPTION]... SRC   [USER@]HOST::DEST

從本地機器拷貝文件到遠程rsync服務(wù)器中。當DST路徑信息包含"::"分隔符時啟動該模式。

如:rsync -av /databack root@172.16.78.192::www

18、下面為實例:

    服務(wù)器ip為192.168.8.126,客戶端ip為192.168.8.122

19、 (1)、把服務(wù)器上的/home/hyj/workspace/test文件夾中的內(nèi)容備份到客戶端的/usr/local/share/rsync_backup中:
[root@hyj ~]# /usr/bin/rsync -vzrtopg --delete  --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup

/etc/rsyncd.conf中模塊的內(nèi)容:

path = /home/hyj/workspace/test
comment = rsync files
ignore errors
read only = yes
list = no
auth users = rsync
secrets file = /etc/rsync.passwd

上面這個命令行中-vzrtopg里的v是verbose,z是壓縮,r是recursive,topg都是保持文件原有屬性如屬主、時間的參數(shù)(也可以用直接用a來代替rtopg, a為 --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD)。--progress是指顯示出詳細的進度情況,--delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致。

(2)、上面的命令需要在備份的時候需要輸入密碼,可以在客戶端建立一個密碼文件,在命令中把密碼文件作為參數(shù)帶入:

[root@hyj rsync_backup]# vim /etc/rsync.pass
密碼文件中不用輸入用戶名,只需輸入密碼即可:

這份密碼文件權(quán)限屬性要設(shè)得只有root可讀,不然會報錯,修改屬性:

[root@hyj rsync_backup]# chmod 600 /etc/rsync.pass,

    用下面這條命令,可以不輸入密碼:

    /usr/bin/rsync -vzrtopg --delete --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass

20、 帶exclude 參數(shù):

把服務(wù)器上的/home/hyj/workspace/test文件夾中的內(nèi)容備份到客戶端的/usr/local/share/rsync_backup中,但不包括:res目錄和default.properties文件:

/usr/bin/rsync -vzrtopg --delete --exclude "res/" --exclude "default.properties" --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass

    exclude/include規(guī)則實例

Here are some exclude/include examples:
 --exclude "*.o"  would exclude all filenames matching *.o
 --exclude "/foo" would exclude a file in the base directory called foo
 --exclude "foo/" would exclude any directory called foo.
 --exclude "/foobar" would exclude any file called bar two or more levels below a base directory called foo.
 --include "*/" --include "*.c" --exclude "*" would include all directories and C source files
--include "foo/" --include "foo/bar.c" --exclude "*" would include only foo/bar.c
 (the foo/ directory must be explicitly included or it would be excluded by the "*")

21、 把客戶端上的/home/hyj/vitest文件夾中的內(nèi)容備份到服務(wù)器的/usr/local/share/rsync_backup中,在客戶端執(zhí)行如下命令:

  /usr/bin/rsync -vzrtopg --delete --progress /home/hyj/vitest rsync@192.168.8.126::clientdata --password-file=/etc/rsync.pass

此時服務(wù)器的配置文件/etc/rsyncd.conf內(nèi)容為:

 uid = root
gid = root
hosts allow = 192.168.8.122, 192.168.8.123
   #hosts deny = 0.0.0.0/32
   use chroot = no
   max connections = 10
   pid file = /var/run/rsyncd.pid
   lock file = /var/run/rsync.lock
   log file = /var/log/rsyncd.log
   timeout=600
[test]
path = /home/hyj/workspace/test
   comment = rsync files
   ignore errors
   read only = yes
   list = no
   auth users = rsync
   secrets file = /etc/rsync.passwd
 # 上面的命令中,客戶端的數(shù)據(jù)備份到clientdata模塊中,備份到/usr/local/share/rsync_backup文件夾下,read only改為no,# # 否則會報ERROR: module is read only的錯誤
[clientdata]     
path = /usr/local/share/rsync_backup
comment = rsync files
   ignore errors
   read only = no
   list = no
auth users = rsync
   secrets file = /etc/rsync.passwd

 定時計劃備份

22、 如果執(zhí)行crontab命令提示:

說明還沒有為root這個賬號提供crontab。執(zhí)行crontab –e 創(chuàng)建一個crontab:


23、 編輯crontab,每兩分鐘備份一次:

24、 兩分鐘后,查看,數(shù)據(jù)已經(jīng)備份:

25、 每天上午9點20執(zhí)行rysnc備份任務(wù):

20 9 * * *       /usr/bin/rsync -vzrtopg --delete  --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass

 

26、附時間設(shè)置:

(1)、查看當前時區(qū) :  date -R
(2)、查看時間和日期:date
(3)、設(shè)置時間和日期:
      將系統(tǒng)日期設(shè)定成2012年8月4日的命令:date -s 08/04/2012
      將系統(tǒng)時間設(shè)定成下午9點20分0秒的命令:date -s 09:20:00
(4)、將當前時間和日期寫入BIOS,避免重啟后失效:hwclock -w

FAQ

27、我需要在防火墻上開放哪些端口以適應rsync?

A:視情況而定

    rsync可以直接通過873端口的tcp連接傳文件,也可以通過22端口的ssh來進行文件傳遞,但你也可以通過下列命令改變它的端口:

   rsync --port 8730 otherhost::

或者

rsync -e 'ssh -p 2002' otherhost:

28、 我如何通過rsync只復制目錄結(jié)構(gòu),忽略掉文件呢?

A:rsync -av --include '*/' --exclude '*' source-dir dest-dir

常見錯誤

29、rsync: failed to connect to 218.107.243.2: No route to host (113)

rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]

解決:對方?jīng)]開機、防火墻阻擋、通過的網(wǎng)絡(luò)上有防火墻阻擋,都有可能。關(guān)閉防火墻,其實就是把tcp udp 的873端口打開:

   解決辦法:打開服務(wù)器873端口(RH-Firewall-1-INPUT為REHL 5自帶的鏈名,10為最后一條默認規(guī)則(拒絕所以),根據(jù)實際情況修改這兩個參數(shù)。另外“-m state --state NEW -m tcp”參數(shù)不加也行)

    #iptables -I RH-Firewall-1-INPUT 10 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
    #iptables -I RH-Firewall-1-INPUT 10 -p udp -m state --state NEW -m udp --dport 873 -j ACCEPT

   打開端口之前的iptables配置:

注:最后一條規(guī)則(REJECT  all -- anywhere   anywhere reject-with icmp-host-prohibited)表示拒絕所有的數(shù)據(jù)包,并向?qū)Ψ交貞猧cmp-host- prohibited數(shù)據(jù)包。

本機測試通過的方法,打開服務(wù)器873端口:

(1)、[root@duoduo ~]# iptables -I INPUT -p tcp --dport 873 -j  
       [root@duoduo ~]# iptables -I INPUT -p udp --dport 873 -j ACCEPT

    (注意要用-I,而不能用-A,用A的話會添加這條規(guī)則到iptables鏈的最后,但是沒有到這條規(guī)則就被原來的最后一條REJECT了,客戶端還是無法執(zhí)行rysnc備份,用I的話會插入到鏈的最前面,經(jīng)過測試可以正常執(zhí)行rysnc備份。另外“-m state --state NEW -m tcp”參數(shù)可以加上)。

(2)、上面提到的,插入規(guī)則到最后一條的前面:

#iptables -I RH-Firewall-1-INPUT 10 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
#iptables -I RH-Firewall-1-INPUT 10 -p udp -m state --state NEW -m udp --dport 873 -j ACCEPT

  插入之前:

插入規(guī)則:



插入規(guī)則后:


再在客戶端執(zhí)行,可以正常執(zhí)行。

    (3)、或者關(guān)閉服務(wù)器的iptables:service iptables stop

30、password file must not be other-accessible

continuing without password file

Password:

解決:這是因為rsyncd.pwd rsyncd.sec的權(quán)限不對,應該設(shè)置為600。如:chmod 600 rsyncd.pwd

31、@ERROR: auth failed on module xxxxx

rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)

解決:這是因為密碼設(shè)置錯了,無法登入成功,檢查一下rsync.pwd,看客服是否匹配。還有服務(wù)器端沒啟動rsync 服務(wù)也會出現(xiàn)這種情況。

32、@ERROR: chroot failed

rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)

解決:這是因為你在 rsync.conf 中設(shè)置的 path 路徑不存在,要新建目錄才能開啟同步。

33、[root@hyj rsync_backup]# /usr/bin/rsync -vzrtopg --delete --exclude "res/" --exclude "default.properties" --progress rsync@192.168.8.126::test /usr/local/share/rsync_backup --password-file=/etc/rsync.pass
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.9]

原因及解決辦法:

    SELinux;(下面這條命令在服務(wù)器端執(zhí)行)
    setsebool -P rsync_disable_trans on

34、ERROR: module is read only
rsync: read error: Software caused connection abort (113)
rsync error: error in rsync protocol data stream (code 12) at io.c(769) [sender=3.0.8]

解決:這是因為服務(wù)器端配置文件rsyncd.conf中read only = yes,為只讀,即不允許客戶端上傳文件,改成no就可以了。
 

相關(guān)文章

  • 實現(xiàn)core文件自動生成配置文件的方法

    實現(xiàn)core文件自動生成配置文件的方法

    這篇文章主要介紹了實現(xiàn)core文件自動生成配置文件的方法,需要的朋友可以參考下
    2014-07-07
  • 獲取同一網(wǎng)段下所有機器MAC地址的shell腳本

    獲取同一網(wǎng)段下所有機器MAC地址的shell腳本

    有時候需要在當前同一網(wǎng)段下所有機器MAC地址,需要的朋友可以參考下
    2013-01-01
  • 在 Shell 提示符中顯示 Git 分支名稱的方法

    在 Shell 提示符中顯示 Git 分支名稱的方法

    這篇文章主要介紹了在 Shell 提示符中顯示 Git 分支名稱的方法,本文詳細的講解了解決這個需求的過程,需要的朋友可以參考下
    2015-04-04
  • exit(-1)或者return(-1)shell得到的退出碼為什么是255

    exit(-1)或者return(-1)shell得到的退出碼為什么是255

    exit(-1)或者return(-1)shell得到的退出碼為是255,大家知道為什么嗎?帶著這個疑問來腳本之家學習下吧,本篇文章告訴大家答案
    2015-10-10
  • Shell腳本中[]和[[]]區(qū)別詳解

    Shell腳本中[]和[[]]區(qū)別詳解

    在 Shell 腳本中,[] 和 [[]] 是用于條件測試的不同語法結(jié)構(gòu),它們有一些區(qū)別,主要體現(xiàn)在對字符串處理和表達式的支持上,這篇文章主要介紹了Shell腳本中[]和[[]]區(qū)別,需要的朋友可以參考下
    2023-12-12
  • Shell中關(guān)于處理方法返回值問題詳解

    Shell中關(guān)于處理方法返回值問題詳解

    最近工作接觸到了一些Linux上面的文本處理,數(shù)據(jù)量還是蠻大的,不可避免的學期了shell,awk等腳本語言。下面這篇文章主要給大家介紹了關(guān)于Shell中關(guān)于處理方法返回值問題的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 如何測試端口通不通(四種方法)

    如何測試端口通不通(四種方法)

    一般情況下使用"telnet ip port"判斷端口通不通.接下來通過本文給大家分享四種方法測試端口通不通,感興趣的朋友一起學習吧
    2016-01-01
  • 通過Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫賬號

    通過Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫賬號

    公司有數(shù)百臺 MySQL 實例,如果手動登入來創(chuàng)建賬號很麻煩,也不現(xiàn)實。所以,我們寫了一個簡單的shell腳本,用來創(chuàng)建批量服務(wù)器的mysql 賬號。這篇文章主要介紹了通過Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫賬號的相關(guān)知識 ,需要的朋友可以參考下
    2019-07-07
  • Linux下Oracle歸檔日志自動清理腳本代碼(sh)

    Linux下Oracle歸檔日志自動清理腳本代碼(sh)

    將以下代碼保存為.sh文件,并放到crontab里就可以實現(xiàn)自動清理
    2013-01-01
  • Shell腳本實用的六個技巧示例

    Shell腳本實用的六個技巧示例

    本文介紹Shell腳本實用的六個技巧示例:使用Shell腳本實現(xiàn)自動化備份、使用Shell腳本實現(xiàn)定時任務(wù)、使用Shell腳本實現(xiàn)遠程登錄服務(wù)器、使用Shell腳本自動化部署應用、使用Shell腳本實現(xiàn)快速部署開發(fā)環(huán)境、使用Shell腳本實現(xiàn)快速檢查服務(wù)器性能
    2023-11-11

最新評論