技巧:Linux rsync 同步由手動到自動

rsync 是一個快速增量文件傳輸工具,它能夠用於在同一主機備分內部的備分,咱們還能夠把它做爲不一樣主機網絡備份工具之用。本文主要講述的是如何自架rsync服務器,以實現文件傳輸、備份和鏡像。相對tar和wget來講,rsync 也有其自身的優勢,好比速度快、安全、高效;安全

手動的:服務器

首先要創建好兩臺服務器之間的公鑰和密鑰,那樣就不須要每次都輸入密碼,也能夠實現自動了。網絡

能夠先使用rpm -qa |grep rsync 查看rsync是否已經安裝,軟件下載 Rysnc的主頁地址爲:http://rsync.samba.org/ssh

本試驗的測試環境(2臺,一個服務端,一個客戶端)tcp

rsync服務端的ip:192.168.48.60編輯器

rsync客戶端的ip:192.168.48.148工具

-----------------------------------------------測試

如下先配置服務器端:ui

1. 安裝rsync包命令行

# rpm -q rsync

rsync-2.6.3-1

2. rsync只使用一個配置文件就是/etc/rsyncd.conf 這個文件通常是沒有的,那就本身建一個好了

# 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] //定義同步的路徑(客戶端用這個關鍵字連接)

path = /home //須要同步的路徑

comment = gmmold //這個暫不知道

3.啓動服務

#/usr/bin/rsync --daemon 最後在server端將rsync以守護進程形式啓動, rsync啓動的端口爲 873端口

4.加入開機啓動

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

5.檢查rsync時候啓動

# ps -ef | grep rsync

6.中止服務

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

如下是客戶端的配置:

1. 安裝rsync包

[root@rhel403 old]# rpm -q rsync

rsync-2.6.3-1

2. 與服務器端同步:

#rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/ //把60機子的/home下的文件同步備份到/home/ganfic/laji/

自動同步備份:

1. 在tmp下建一個b.sh文件

#vi /tmp/b.sh

把如下內容寫到裏面去

#!bin/sh

rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/

:wq

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

#crontab -e

而後把 * * * * * sh /tmp/b.sh //* * * * *部分表明每一分鐘,而後 sh /tmp/b.sh 表示運行 b.sh腳本(在下面我再補充說明),-e 使用環境變量EDITOR或RVISUAL指定的編輯器編輯crontab文件。新建立的crontab文件會放在/var/spool/cron目錄下,文件名就是用戶名,用cd /var/spool/cron後 會看到用戶文件,而後用 vi root(我是在root用戶下的)就會看到* * * * * sh /tmp/b.sh已經被轉到這裏來了。

這樣就完成了,以後就是看看 有沒有運行了,打開日誌文件,日誌文件在 #vi /var/log/cron 就會看到有沒有運行了,也能夠這樣,在沒有用自動運行以前,咱們是用手動操做的,那時也把60的機子的/home目錄下的文件拷了下來,那樣,咱們進本機的/home/ganfic/laji文件夾裏就會看到60機子下/home的內容,把這些內容都刪了,而後再過1分鐘看會不會把內容再補上,有的話就是成功了。

Linux 防火牆是用iptables,因此咱們至少在服務器端要讓你所定義的rsync 服務器端口經過,客戶端上也應該讓經過。

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

啓動rsync服務:

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

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

補充:

rsync 的相關知識:

rsync命令的用法

在配置完rsync服務器後,就能夠從客戶端發出rsync命令來實現各類同步的操做。rsync有不少功能選項,下面就對介紹一下經常使用的選項:

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]

相關文章
相關標籤/搜索