IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁操作系統(tǒng)LINUX → Linux rsync同步由手動(dòng)到自動(dòng)

Linux rsync同步由手動(dòng)到自動(dòng)

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  rsync 是一個(gè)快速增量文件傳輸工具,它可以用于在同一主機(jī)備份內(nèi)部的備分,我們還可以把它作為不同主機(jī)網(wǎng)絡(luò)備份工具之用。本文主要講述的是如何自架rsync服務(wù)器,以實(shí)現(xiàn)文件傳輸、備份和鏡像。相對(duì)tar和wget來說,rsync 也有其自身的優(yōu)點(diǎn),比如速度快、安全、高效;

  手動(dòng)的:

  首先要建立好兩臺(tái)服務(wù)器之間的公鑰和密鑰,那樣就不需要每次都輸入密碼,也可以實(shí)現(xiàn)自動(dòng)了。

  可以先使用rpm -qa |grep rsync 查看rsync是否已經(jīng)安裝,軟件下載? Rysnc的主頁地址為:http://rsync.samba.org/

  本試驗(yàn)的測試環(huán)境(2臺(tái),一個(gè)服務(wù)端,一個(gè)客戶端)

  rsync服務(wù)端的ip:192.168.48.60

  rsync客戶端的ip:192.168.48.148

 ?。?/p>

  以下先配置服務(wù)器端:

  1. 安裝rsync包

  # rpm -q rsync

  rsync-2.6.3-1

  2. rsync只使用一個(gè)配置文件就是/etc/rsyncd.conf?? 這個(gè)文件一般是沒有的,那就自己建一個(gè)好了

  # vi /etc/rsyncd.conf

  uid = nobody

  gid = nobody

  max connections = 200

  timeout = 600

  use chroot = no

  read only = yes

  pid file=/var/run/rsyncd.pid

  host_allow =192.168.48.148? //客戶端的IP地址寫在這里

  #syslog facility = local7

  #log file=/var/log/rsyncd.log

  #rsync config

  #The 'standard' things

  [rsync_gmmold]? //定義同步的路徑(客戶端用這個(gè)關(guān)鍵字鏈接)

  path = /home???? //需要同步的路徑

  comment = gmmold //這個(gè)暫不知道

  3.啟動(dòng)服務(wù)

  #/usr/bin/rsync --daemon?? 最后在server端將rsync以守護(hù)進(jìn)程形式啟動(dòng),? rsync啟動(dòng)的端口為 873端口

  4.加入開機(jī)啟動(dòng)

  echo "/usr/bin/rsync --daemon" >> /etc/rc.local

  5.檢查rsync時(shí)候啟動(dòng)

  # ps -ef | grep rsync

  6.停止服務(wù)

  #kill `cat /var/run/rsyncd.pid`

#p#副標(biāo)題#e#

  以下是客戶端的配置:

  1. 安裝rsync包

  [root@rhel403 old]# rpm -q rsync

  rsync-2.6.3-1

  2. 與服務(wù)器端同步:

  #rsync -ave ssh [email protected]:/home/ /home/ganfic/laji/????? //把60機(jī)子的/home下的文件同步備份到/home/ganfic/laji/

  自動(dòng)同步備份:

  1.? 在tmp下建一個(gè)b.sh文件

  #vi /tmp/b.sh

  把以下內(nèi)容寫到里面去

  #!bin/sh

  rsync -ave ssh [email protected]:/home/ /home/ganfic/laji/

  :wq

  2??? 第2步就要涉及到crontab了,在命令行輸入

  #crontab -e

  然后把 *? *?? *?? *?? *?? sh /tmp/b.sh //* * * * *部分代表每一分鐘,然后?? sh /tmp/b.sh 表示運(yùn)行 b.sh腳本(在下面我再補(bǔ)充說明),-e 使用環(huán)境變量EDITOR或RVISUAL指定的編輯器編輯crontab文件。新創(chuàng)建的crontab文件會(huì)放在/var/spool/cron目錄下,文件名就是用戶名,用cd? /var/spool/cron后 會(huì)看到用戶文件,然后用 vi root(我是在root用戶下的)就會(huì)看到*? *?? *?? *?? *?? sh /tmp/b.sh已經(jīng)被轉(zhuǎn)到這里來了。

  這樣就完成了,之后就是看看 有沒有運(yùn)行了,打開日志文件,日志文件在? #vi? /var/log/cron 就會(huì)看到有沒有運(yùn)行了,也可以這樣,在沒有用自動(dòng)運(yùn)行之前,我們是用手動(dòng)操作的,那時(shí)也把60的機(jī)子的/home目錄下的文件拷了下來,那樣,我們進(jìn)本機(jī)的/home/ganfic/laji文件夾里就會(huì)看到60機(jī)子下/home的內(nèi)容,把這些內(nèi)容都刪了,然后再過1分鐘看會(huì)不會(huì)把內(nèi)容再補(bǔ)上,有的話就是成功了。

  Linux 防火墻是用iptables,所以我們至少在服務(wù)器端要讓你所定義的rsync 服務(wù)器端口通過,客戶端上也應(yīng)該讓通過。

  iptables -A INPUT -p tcp -m state --state NEW? -m tcp --dport 873 -j ACCEPT

  啟動(dòng)rsync服務(wù):

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

  $rsync_HOME/rsync --daemon? --config=/etc/rsyncd/rsyncd.conf

  補(bǔ)充:

  rsync 的相關(guān)知識(shí):

  rsync命令的用法

  在配置完rsync服務(wù)器后,就可以從客戶端發(fā)出rsync命令來實(shí)現(xiàn)各種同步的操作。rsync有很多功能選項(xiàng),下面就對(duì)介紹一下常用的選項(xiàng):

  rsync的命令格式可以為:

  1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

  2. rsync [OPTION]... [USER@]HOST:SRC DEST

  3. rsync [OPTION]... SRC [SRC]... DEST

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

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

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

#p#副標(biāo)題#e#

  命令格式:

  #rsync [option] 源路徑 目標(biāo)路徑

  其中:

  [option]:

  a:使用archive模式,等于-rlptgoD,即保持原有的文件權(quán)限

  z:表示傳輸時(shí)壓縮數(shù)據(jù)

  v:顯示到屏幕中

  e:使用遠(yuǎn)程shell程序(可以使用rsh或ssh)

  --delete:精確保存副本,源主機(jī)刪除的文件,目標(biāo)主機(jī)也會(huì)同步刪除

  --include=PATTERN:不排除符合PATTERN的文件或目錄

  --exclude=PATTERN:排除所有符合PATTERN的文件或目錄

  --password-file:指定用于rsync服務(wù)器的用戶驗(yàn)證密碼

  源路徑和目標(biāo)路徑可以使用如下格式:

  rsync://[USER@]Host[:Port]/Path?? <--rsync服務(wù)器路徑

  [USER@]Host::Path <--rsync服務(wù)器的另一種表示形式

  [USER@]Host:Path <--遠(yuǎn)程路徑

  LocalPath? <--本地路徑

  crontab的用法:

  crontab [ -u user ] { -l | -r | -e }

  -u user 表示指定用戶user的crontab文件,這個(gè)前提事你必須要有其權(quán)限才能其他用戶的crontab文件。如果使用該選項(xiàng)的化,默認(rèn)設(shè)定當(dāng)前用戶的crontab文件。

  -l? 列出目前的crontab文件的內(nèi)容

  -r 刪除目前的crontab文件

  -e 使用環(huán)境變量EDITOR或RVISUAL指定的編輯器編輯crontab文件。新創(chuàng)建的crontab文件會(huì)放在/var/spool/cron目錄下,文件名就是用戶名。

  crontab內(nèi)容的格式如下:

  分<>時(shí)<>日<>月<>星期<>要運(yùn)行的命令

  其中<>表示空格

  分:1-59?? 時(shí):0-23(0表示子夜)?? 日:1-31??? 月:1-12??? 星期:0-6(0表示星期天)

  crontab 文件中的每一行內(nèi)容必須有上面這5個(gè)時(shí)間域,并用空格隔開。在時(shí)間域中可以用橫桿"-"表示一個(gè)時(shí)間范圍,如星期一到星期五:1-5,還可以使用逗號(hào) ",",如要在星期一和星期三執(zhí)行任務(wù),可以寫成1,3表示??梢杂眯翘?hào)" * "表示連續(xù)的時(shí)間段,如果對(duì)某個(gè)時(shí)間域沒有特定的限制就可以在該域中寫入*。 在crontab文件中注釋的行在行首用" # "表示。下面舉例說明哈。

  #每一分鐘執(zhí)行一次

  * * * * *? test.sh

  #每五分鐘執(zhí)行一次

  */5 * * * * test.sh

  #星期一和星期五的12點(diǎn)到18點(diǎn)之間每兩小時(shí)整執(zhí)行一次

  0 12-18/2 * * 1,5 test.sh

關(guān)鍵詞標(biāo)簽:Linux,rsync

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載