1. windows rsync傳輸到linux備份
一些軟體安裝在windows上想要對上面的文件進行異地備份
後來找到cwRsync ——同步Windows文件到Linux,和linux的rsync一樣的功效
鏈接: https://pan..com/s/1zDojiAAnpBaCDUCRiYzXzw
提取碼:07l1
windows默認安裝即可
windows上配置rsyncd.conf 文件
cat /cygdrive/d/Program Files (x86)/ICW/rsync_db.ps
此密碼文橋腔件里的敏運衫格式是"用戶名:密碼",這個密碼可以隨意指定。但最好設置伺服器的用戶名和密碼。如果覺得不安全,就另外創建一個用戶名和密碼,專門用於rsync同步之用。
但是千萬要記得這個創建的用戶名對E:\Setting\Rsync\rsync_db.ps這個密碼文件要有修改悄腔的操作許可權。
安裝完成後windows-服務,就可以找到,修改好配置文件,重啟服務即可
測試是否可以連通
進入Linux伺服器,新建一個backup_passwd的文件,內容為在上面windows中RsyncServer中設定的密碼內容:
linux伺服器上要安裝rsync環境。這里將windows備份數據同步到linux的/Win_Back目錄下
--delete表示如果有刪除也更新,可以實現目標文件夾增加和刪除和修改都更新的目的
放到linux的crontab中,每天執行一次,第一次全量備份會比較慢,後期都是增量備份會很快
windows重啟後rsync服務並沒有啟動,服務——RsyncServer,手動啟動後報錯
「本地計算機上的rsyncserver服務啟動後停止,某些服務在未由其他服務或程序」
後查看原來是rsyncserver異常結束時,pid文件未及時刪除,導致再次啟動服務時因檢測到pid文件而認為服務已經啟動。而windows的服務管理器並不以pid為檢測標准,所以彈出啟動又停止的提示
解決:
手動刪除esyncserver產生的pid文件,再次啟動即可
C:\Program Files (x86)\ICW\rsyncd.pid
2. linux下如何實現增量備份
伺服器需求:
需要備份文件的伺服器(伺服器端):192.168.10.2 (RHEL 5)
接收備份文件的伺服器(客戶端):192.168.10.3 (RHEL 5)
實現功能:
通過rsync工具對turbomail郵件伺服器的accounts目錄和conf目錄進行增量備份。
accounts目錄:用於存儲用戶相關信息的目錄
conf目錄:用戶配置文件存放目錄
前提條件:
先將turbomail郵件系統安裝好(伺服器端與客戶端操作一樣)
安裝過程如下:
1、掛載光碟機:mount /dev/cdrom
2、將turbomail的安裝包拷貝到跟目錄下/
#cd /dev/cdrom
#cp turbomail_linux_x86_xxx.tgz
3、解壓turbomail安裝包
tar –zxvf turbomail_linux_x86_xxx.tgz
4、啟動turbomail
#cd /turbomail
#./starttm.sh
#cd /turbomail/web/bin/
#./startup.sh 5、修改啟動腳本/etc/rc.d/rc.local
使郵件伺服器開機自動啟動加入以下幾行:#/turbomail/starttm.sh &
#/turbomail/web/bin/startup.sh & #/turbomail/safestart.sh &
rsync的配置如下:
1.伺服器端rsync的配置:使用系統自帶的rsync工具,插入系統啟動光碟,通過rpm安裝rsync工具。
若採用採用源碼包安裝,上傳安裝包到伺服器1)tar –zxvf rsyncrsync-2.6.9.tar.gz #解壓2)cd rsyncrsync-2.6.9 3)./configure #默認配置,生成編譯環境
4)make #編譯
5)make install #安裝完成,任何步驟有疑問輸入echo $?查返回值,0表示成功,其他都為失敗rsync 版本
2.4.6(可以從http://rsync.samba.org/rsync/獲得最新版本)
1)編輯/etc/rsyncd.conf文件,rsync的主要配置文件:
#[globale]
strict modes= yes
#check passwd file
port= 873 #rsync工具默認使用的埠
#default port
logfile= /var/log/rsyncd.log #日誌文件存放路徑pidfile= /var/run/rsyncd.pid #記錄rsync運行時的進程ID
max connections= 4 #同上最大的鏈接數
#[moles] #同步模塊的配置
[rsync]
uid= root #該選項指定當該模塊傳輸文件時守護進程應該具有的uid
gid= root #該選項指定當該模塊傳輸文件時守護進程應該具有的gid
ignore errors #忽略一些無關的錯誤信息
#要備份的目錄
path= /turbomail/accounts #需要同步的目錄
read only= no #是否設置以只讀的方式運行
host allow= 192.168.10.3 #同步數據的客戶端ip如有多個客戶端,以「,」隔開即可
auth users= zhouhw #同步用的用戶名
secrets file= /etc/rsyncd.scrt #同步的密碼認證文件
[test]
uid= root #該選項指定當該模塊傳輸文件時守護進程應該具有的uid
gid= root #該選項指定當該模塊傳輸文件時守護進程應該具有的gid
ignore errors #忽略一些無關的錯誤信息
#要備份的目錄
path= /turbomail/conf #需要同步的目錄
read only= no #是否設置以只讀的方式運行
host allow= 192.168.10.3 #同步數據的客戶端ip如有多個客戶端,以「,」隔開即可
auth users= zhouhw #同步用的用戶名
secrets file= /etc/rsyncd.scrt #同步的密碼認證文件2)編輯/etc/rsyncd.scrt文件,密碼認證文件
zhouhw:123456
該更許可權為600:chmod 600 /etc/rsyncd.scrt 3) 運行rsync --daemon,並在/etc/rc.d/rc.local加入此語句,開機自動啟動。
備註:rsync默認埠873,若安裝了iptables,如需改動啟動時啟動rsync –port 873,請在iptables 中開放該埠,語句如下:
iptables -I INPUT -p tcp --dport 873 -j ACCEPT
4)編輯/etc/xinetd.d/rsync
rsync服務的監聽由xinet來統一分配:
service rsync
{
disable = no #將此項改為no
socket_typ
e = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
重啟xinetd以啟動rsync服務
service xinetd restart
5)查看rsync事故正常運行
輸入命令:netstat -ant|grep :873若有顯示以下一條語句,則說明rsync服務已經正常啟動了。
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2.客戶端的配置:使用系統自帶的rsync工具,插入系統啟動光碟,通過rpm安裝rsync工具。
1)編輯/etc/rsyncd.scrt文件,密碼認證文件
zhouhw:123456
該更許可權為600:chmod 600 /etc/rsyncd.scrt 2)編輯腳本vi /root/scrpit/rsync.sh並加入開機自動啟動。
#!/bin/sh /usr/bin/rsync -vazu --progress --delete
[email protected]::rsync /turbomail --password-file=/etc/rsyncd.scrt
[email protected]::test /turbomail
--password-file=/etc/rsyncd.scrt修改許可權:chmod u+x
/root/scrpit/rsync.sh執行./rsync.sh 同步數據。
3)編輯/etc/crontab文件,定義為每小時30分鍾執行一次數據同步。
vi /etc/crontab
# run-parts
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root
run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4
1 * * root run-parts /etc/cron.monthly 30 * * * * root
/root/scrpit/rsync.sh客戶端的配置到此就可以了,伺服器與客戶端的數據也會在每小時的第30分鍾執行一次。
客戶端同步命令詳解:
v, --verbose 詳細模式輸出-q, --quiet 精簡輸出模式-c, --checksum
打開校驗開關,強制對文件傳輸進行校驗-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rlptgoD
-r, --recursive 對子目錄以遞歸模式處理-R, --relative 使用相對路徑信息-b, --backup
創建備份,也就是對於目的已經存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。
--backup-dir 將備份文件(如~filename)存放在在目錄下。
-suffix=SUFFIX定義備份文件前綴
-u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且文件時間晚於要備份的文件。(不覆蓋更新的文件) -l, --links 保留軟鏈結-L, ---links 想對待常規文件一樣處理軟鏈結
---unsafe-links僅僅拷貝指向SRC路徑目錄樹以外的鏈結
--safe-links忽略指向SRC路徑目錄樹以外的鏈結
-H, --hard-links 保留硬鏈結-p, --perms 保持文件許可權-o, --owner 保持文件屬主信息-g,
--group 保持文件屬組信息-D, --devices 保持設備文件信息-t, --times 保持文件時間信息-S, --sparse
對稀疏文件進行特殊處理以節省DST的空間-n, --dry-run現實哪些文件將被傳輸-W, --whole-file
拷貝文件,不進行增量檢測-x, --one-file-system 不要跨越文件系統邊界-B, --block-size=SIZE
檢驗演算法使用的塊尺寸,默認是700位元組-e, --rsh=COMMAND 指定替代rsh的shell程序
--rsync-path=PATH指定遠程伺服器上的rsync命令所在路徑信息
-C, --cvs-exclude 使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸的文件--existing 僅僅更新那些已經存在於DST的文件,而不備份那些新創建的文件
--delete刪除那些DST中SRC沒有的文件
--delete-excluded同樣刪除接收端那些被該選項指定排除的文件
--delete-after傳輸結束以後再刪除
--ignore-errors及時出現IO錯誤也進行刪除
--max-delete=NUM最多刪除NUM個文件
--partial 保留那些因故沒有完全傳輸的文件,以是加快隨後的再次傳輸--force 強制刪除目錄,即使不為空
--numeric-ids不將數字的用戶和組ID匹配為用戶名和組名
--timeout=TIME IP超時時間,單位為秒-I, --ignore-times
不跳過那些有同樣的時間和長度的文件--size-only
當決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間--modify-window=NUM 決定文件是否時間相同時使用的時間戳窗口,默認為0
-T --temp-dir=DIR在DIR中創建臨時文件
--compare-dest=DIR同樣比較DIR中的文件來決定是否需要備份
-P等同於--partial
--progress顯示備份過程
-z, --compress 對備份的文件在傳輸時進行壓縮處理
--exclude=PATTERN指定排除不需要傳輸的文件模式
--include=PATTERN指定不排除而需要傳輸的文件模式
--exclude-from=FILE排除F
ILE中指定模式的文件
--include-from=FILE不排除FILE指定模式匹配的文件
--version列印版本信息
--address綁定到特定的地址
--config=FILE 指定其他的配置文件,不使用默認的rsyncd.conf文件
--port=PORT指定其他的rsync服務埠
--blocking-io對遠程shell使用阻塞IO
-stats給出某些文件的傳輸狀態
--progress在傳輸時現實傳輸過程
--log-format=formAT指定日誌文件格式
--password-file=FILE從FILE中得到密碼
--bwlimit=KBPS 限制I/O帶寬,KBytes per second -h, --help 顯示幫助信息
3. Linux下rsync命令用法
1、首先要設置一台rsync伺服器比如A伺服器,否則2個都是客戶機無法傳遞,還不如scp
2、B伺服器的test目錄許可權一定要開放,最好是777
3、rsync有6種狀態,可以從A到B,也可以從B到A,升值可以從A到B,C,D等等
4、rsync的語句結構是:rsync
[OPTION]...
SRC
[SRC]...
rsync://[USER@]HOST[:PORT]/DEST
你可以man或rsync
--help看一下關於option,給你個使用rsync語句2台伺服器同步的實例:rsync
-vazu
--progress
--password-file=/etc/rsyncd.secrets
[email protected]::Samba
/home/Samba/
解釋:-vazu
v代表詳細輸出
a代表歸檔
z代表壓縮傳遞
u代表只更新改動的地方
--progress顯示傳輸過程
--password表示可以選擇後面的密碼文件去自動匹配密碼
還可以加上
--delete選項,將伺服器沒有的內容刪除等等,選項很多,用法靈活,再配合crontab可以實現自動同步備份。
4. Linux下數據備份命令scp、rsync和後台運行
scp和rsync 均可實現文件的復制,但相比較,scp佔用系統資源較小,rsync速度較快。當小文件眾多時,rsync會導致硬碟I/O非常高,而scp基本不影響系統正常使用。可根據需要這倆選其一實現文件復制。
scp 是secure 的縮寫,scp是Linux系統下基於ssh登錄進行安全的遠程文件拷貝命令。
可以實現本地文件復制到遠程伺服器,也可以將遠程文件復制到本地。
rsync 是remote sync的縮寫。使用rsync備份數據時,不會直接覆蓋以前的數據(如果數據已經存在),而是先判斷已存在的數據和新數據的差異(默認規則是文件大小或修改時間有差異),只有數據不相同時才會把不相同的部分覆蓋。在僅作增量數據的時比scp靈活。
一般CentOS默認安裝rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安裝。
單個冒號和雙冒號的區別 :使用rsync在遠程傳輸數據前,是需要進行登陸認證的,這個過程可使用ssh協議也可以使用rsync協議完成。單冒號(:)使用的是ssh協議;雙冒號(::)使用的是rsync協議。
默認情況下,rsync只確保源文件的所有內容(明確排除的文件除外)都復制到目標目錄。它不會使兩個目錄保持不同,並且不會刪除文件。如果要使目標目錄成為源目錄的鏡像副本,則使用--delete選項。可刪除只存在目標目錄,不存在於源目錄的文件。
增量備份算是一個經常使用的場景了。兩台伺服器之間進行文件定期備份,無需所有文件都一遍,僅復制有變動的文件。
具體做法是,第一次同步是全量備份,所有文件在基準目錄裡面同步一份。以後每一次同步都是增量備份,只同步源目錄與基準目錄之間有變動的部分,將這部分保存在一個新的目標目錄。這個新的目標目錄之中,也是包含所有文件,但實際上,只有那些變動過的文件是存在於該目錄,其他沒有變動的文件都是指向基準目錄文件的硬鏈接。
--link-dest 參數用來指定同步時的基準目錄。
上面命令中, --link-dest 參數指定基準目錄 /compare/path ,然後源目錄 /source/path 跟基準目錄進行比較,找出變動的文件,將它們拷貝到目標目錄 /target/path 。那些沒變動的文件則會生成硬鏈接。這個命令的第一次備份時是全量備份,後面就都是增量備份了。
一般伺服器之間復制文件都比較大,為防止誤操作,最好在後台運行。但因為需要和遠程伺服器之間的ssh通訊多是需要密碼的,所以不能直接使用nohup 放置於後台。無論是scp還是rsync都可操作如下:
後台和前台任務的切換
scp不支持斷點續傳,掛起scp進程可能導致數據缺失。傾向於使用rsync。
如果有其他任務需要使用nohup後台運行,但執行時卻忘記了使用nohup,也可參照此方法進行設置。
參考:1. Linux之scp命令及後台運行scp
5. linux上的rsync命令詳解
rsync 就是遠程同步的意思remote sync.
rsync 被用在UNIX / Linux執行備份操作操作.
rsync 工具包被用來從一個位置到另一個位置高效地同步文件和文件夾. rsync可以實現在同一台機器的不同文件直接備份,也可以跨伺服器備份.
rsync 語法如下
從語法結構我們可以看出, 源和目標即可以在本地也可以在遠端. 如果是遠端的話,需要指明登錄用戶名, 遠端伺服器名, 和遠端文件或目錄. 同時源可以是多個, 目標位置只能是一個.
說明:
-z: --compress 使用壓縮機制
-v: --verbose 列印詳細信息
-r: --recursive 以遞歸模式同步子目錄
注意: 同步完成後, 我們會發現文件的時間戳timestamps發生了改變.
有時我們希望拷貝或同步時, 時間戳不要發生變化, 源文件是什麼時間戳,目標文件就是什麼猜悉敏時間戳, 這時我們需要使用 -a --archive 歸檔模式選項. -a 選項相當於7個選項的組合 -rlptgoD
-r, --recursive: 遞歸模式Recursive mode
-l, --links: 將符號鏈接當作符號鏈接文件拷貝, 不拷貝符合鏈接指向的文件內容.
-p, --perms: 保留文件許可權
-t, --times: 保留陸高修改時間戳
-g, --group: 保留用戶組信息
-o, --owner: 保留用戶信息(需要超級用戶許可權)
-D, 相當於 --devices --specials 的組合, 保留設備文件, 保留特殊文件.
同步完成後, 我們再來看文件屬性, 時間戳信息得到了保留, 不僅如此文件的所有者 和所在組也得到保穗枝留.
說明: Pubkeys 是一個普通文件
使用rsync, 也可以從本地拷貝多個文件或目錄到遠端, 以下即為示例:
注意:
與本地文件拷貝不同的地方在於, 當拷貝文件到遠程伺服器時, 我們指定遠程主機上的用戶名, 伺服器地址, 路徑等信息, 類是於使用scp命令拷貝, 如果沒有設置ssh免密碼登錄我們還需要提供遠程用戶的密碼等信息.有時你不想頻繁輸入密碼, 或者rsync運行在一個無人執守的腳本裡面, 這是需要預先設置ssh免密登錄, 或者使用結合expect命令,自動輸入密碼, 但是出於安全考慮, 密碼需要加密. 所以在條件許可的情況下, 還是推薦設置ssh免密登錄.
與示例 4 稍有不同, 這時遠端目錄或文件作為源位置, 本地目錄或文件作為目標位置, 示例如下:
rsync 允許指定遠程主機上運行shell命令.
這時需要使用 -e 選項:
-e, --rsh=COMMAND 指定遠端使用的shell命令
Use rsync -e ssh to specify which remote shell to use. In this case, rsync will use ssh.
在一下特殊的使用場景中, 我們不希望拷貝文件時, 我們不希望拷貝過程覆蓋掉目標位置中用戶做出的修改. 這時我們需要使用 -u 選項明確的告訴rsync命令保留用戶在目標文件中作出的修改. 在下面的例子中, 文件Basenames是用戶基於上次的拷貝, 修改過的文件, 當我們使用了-u 選項後, 該文件中的修改將不會被覆蓋掉.
在某些特殊場景中, 我們只需要遠程伺服器上的目錄結構, 而不希望花大量時間, 帶寬拷貝文件內容, 這時我們可以使用 -d, --dirs選項來達到目的.
有時我們希望拷貝文件時, 能實時的顯示拷貝進度, 以及傳輸速率等信息. 尤其是拷貝大文件時, 程序不輸出信息, 用戶往往無法區分程序是在響應中, 還是已經掛起, 在這種情況下如果使用 –progress 就會非常有幫助.
rsync –progress option displays detailed progress of rsync execution as shown below.
你也可以使用rsnapshot工具 (rsnapshot會調用rsync)來備份本地linux伺服器, 或者備份遠程linux伺服器.
有時我們希望目標文件和源文件保持嚴格一致, 不要多文件也不要少文件, 這是我們可能需要使用 -delete 選項來達到目的. 如果使用 -delete 選項, rsync將刪除目標位置多餘的文件或文件夾. 此選項還可以結合--delete-excluded 選項一起使用, 添加一些例外的文件.
上述示例中, new-file.txt 是源文件中沒有的文件, 其將會在拷貝時被刪除掉.
在某些特殊的場景下, 我們只想更新, 目標位置已經存在的文件或目錄, 而不關心源位置的新文件, 這時我們可以使用-existing 選項僅僅更新已經存在的文件.
讓我們來驗證一下這個選項的功能, 首先在源端添加一個新文件 new-file.txt.
從上面的例子可以看到, 由於加了--existing選項新文件new-file.txt沒有被拷貝到目標位置
選項-i, --itemize-changes 非常有用, 當我們想了解目標位置和源位置的文件差異時.
在源端:
在目標端:
注意: 在上面的例子中, 源位置和目標位置有兩處差異. 第一, 源文件Basenames的所有者和組 與 目標文件不同, 第一Dirnames文件大小也不一樣.
現在讓我們來看看rsync會怎樣顯示這些差異
輸出信息只在相應文件前面顯示了9個字母來標識改變, 這些字母具體是什麼意思呢? 請參考以下詳細說明
rsync 可以使用--include 和 --exclude 選項結合通配符進行文件或文件夾過濾
在上面的示例中, 僅僅以P打頭的文件和文件夾被包含了進來, 其他的文件都被過濾在拷貝的過程中被排除在外了.
可以使用--max-size 告訴rsync 不要拷貝大小超過某個值的文件, 可以使用K, M, G指定文件大小, M for megabytes and G for gigabytes.
rsync 有個重要優點就是, 可以做到在拷貝的過程中, 只拷貝發生變化了的部分, 而不是發送整個文件.
但是在某些場景中, 比如文件較少, 文件size較小時, 我們的帶寬又足夠大, cpu資源相對又貧乏, 我們不希望它這樣做, 因為畢竟計算源端和目標端的checksum, 並做對比, 也需要額外cpu開銷. 這時我們可以使用 -W, --whole-file 選項, 讓rsync不用計算那麼多, 一上來就直接開始傳送文件. 我們可以像下面這么做.
15個Rsync命令實例
6. 如何在Linux伺服器中實現數據實時同步及備份
科技時代,任何行業都離不開數據的分析以及統籌,如果掌握了最關鍵的數據及技術,那成功就指日可待,所以數據對於一個企業來說,就是最無形的財富,而一個企業的數據基本都有伺服器保存及管理著,如何保證數據安全,實現數據同步及備份?誠愷科技小編就同大家一起來看看在Linux伺服器中利用rsync配合inotify實現數據實時同步及備份的方法。
rsync:可以鏡像保存整個目錄樹和文件系統。可以很容易做到保持原來文件的許可權、時間、軟硬鏈接等等。第一次同步時 rsync 會復制全部內容,但在下一次只傳輸修改過的文件。
方案:起初用rsync進行數據備份是利用計劃任務,定時執行一下命令實現rsync的同步,但最近開發這邊修改比較頻繁,看來需要實時同步備份來完善備份機制!所以需要利用inotify觸發器來改善!達到一旦指定的位置有了新的變動就將其同步!
環境:
CentOS 6.4 64位
rsync-3.0.9
inotify-tools-3.14
說明:
10.10.1.6 (rsync+inotify)----------網站程序(/data0/htdocs/)
10.10.1.9 (rsync)------------------網站程序備份(/data0/htdocs/)
目的:
實現10.10.1.6的/data0/htdocs/目錄下發生任何變動都將實時同步到10.10.1.9的/data0/htdocs/上(另,這兩台都跑有keepalived+nginx,來實現出現故障自動切換的容災,詳細配置會在後面補上)
一、web伺服器10.10.1.6 (rsync+inotify)
1、准備軟體包
2、安裝Rsync
1)、1234 tar-zxvf rsync-3.0.9.tar.gz
2)、cdrsync-3.0.9
3)、./configure--prefix=/usr/local/rsync
4)、make;makeinstall
建立密碼認證文件
[root@ftp ~]# echo "111111">/etc/rsyncd/rsyncd.secrets建立密碼認證文件
*其中111111可以自己設置密碼,rsyncd.secrets名字也可以自己設置;
許可權:要將/etc/rsyncd/rsyncd.secrets設置為root擁有, 且許可權為600。
# chmod 600 /etc/rsyncd/rsyncd.secrets
3、安裝inotify
1)、1234 tar-zxvf inotify-tools-3.14.tar.gz
2)、cdinotify-tools-3.14
3)、./configure--prefix=/usr/local/inotify
4)、make;makeinstall
4、創建rsync復制腳本
此項功能主要是將ftp端的目錄/data0/htdocs/里的內容,如果修改了(無論是添加、修改、刪除文件)能夠通過inotify監控到,並通過rsync實時的同步給10.10.1.9的/data0/htdocs里,下面是通過shell腳本實現的。
[root@web ~]# vim /root/shell/rsync.sh
[root@web ~]# chmod u+x /root/shell/rsync.sh
[root@web ~]# setsid /root/shell/rsync.sh &
#後台運行腳本,關閉shell終端繼續後台運行
rsync.sh腳本加入開機啟動項
# echo "/root/shell/rsync.sh" >> /etc/rc.local
防火牆開啟rsync埠:873
添加:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT
重啟:
# /etc/init.d/iptables restart
二、備份伺服器10.10.1.9(rsync)
1、准備工作
創建備份目錄:
# mkdir /data0/htdocs
2、安裝rsync(備份主機只安裝rsync)
1)、1234 tar-zxvf rsync-3.0.9.tar.gz
2)、cdrsync-3.0.9
3)、./configure--prefix=/usr/local/rsync
4)、make;makeinstall
3、建立用戶與密碼認證文件
[root@backup ~]# echo "root:111111" > /etc/ rsyncd/rsyncd.secrets
[root@backup ~]# less /etc/rsyncd/rsyncd.secrets
root:111111
注意:
請記住,在10.10.1.6端建立的密碼文件,只有密碼,沒有用戶名;而在10.10.1.9里建立的密碼文件,用戶名與密碼都有。
許可權:要將/etc/rsyncd/rsyncd.secrets設置為root擁有, 且許可權為600。
#chmod 600 /etc/rsyncd/rsyncd.secrets
4、建立rsync配置文件
[root@backup ~]# vim /etc/rsyncd/rsyncd.conf
啟動rsync服務
# /usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
# ps -ef |grep rsync
Rsync服務加入開機啟動項
# echo "/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local
防火牆開啟rsync埠:873
添加:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT
重啟:
# /etc/init.d/iptables restart
完成,其實這個時候數據已經同步了!
測試一下:
由於/data0/htdocs/下涉及到一些公司信息,所以就以/data0/htdocs/tmp/為例
主機名可以區別是兩台機器,裡面的內容完全一直,連文件的屬性都一樣
再對裡面修改一下試試,創建一個文件,然後刪除user目錄試試
7. rsync啟動不了.運行/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf後,
Rsync(remote sync)是類unix系統下的數據鏡像備份工具,支持大多數的類unix系統,無論是Linux、Solaris還是BSD,都經過了的測試,現在也有支持windows下的rsync(cwRsync)也已經測試通過,rsync 是一個節約帶寬的備份方案,不像傳統的 ftp 會下載所有的文件。如果你啟動不了,嘗試下1、編輯/etc/ld.so.conf文件,添加一行:
/usr/local/lib
2、保存後運行ldconfig。
3、再啟動運行rsyncd服務運行,問題得到解決。
(註:ld.so.conf和ldconfig用於維護系統動態鏈接庫)。
只能想到這么多,再不行 你就從裝吧