導航:首頁 > IDC知識 > linuxrsync伺服器

linuxrsync伺服器

發布時間:2021-01-02 06:51:35

1、如何在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目錄試試

2、linux 下是否有實時同步文件的工具

rsync:與傳統的cp、tar備份方式相比,rsync具有安全性高、備份迅速、支持增量備份等優點,通過rsync可以解決對實時性要求不高的數據備份需求,例如定期的備份文件伺服器數據到遠端伺服器,對本地磁碟定期做數據鏡像等。


inotify:inotify 是一種強大的、細粒度的、非同步的文件系統事件監控機制,linux內核從2.6.13起,加入了Inotify支持,通過Inotify可以監控文件系統中添加、刪除,修改、移動等各種細微事件,利用這個內核介面,第三方軟體就可以監控文件系統下文件的各種變化情況,而inotify-tools就是這樣的一個第三方軟體。

rsync可以實現觸發式的文件同步,但是通過crontab守護進程方式進行觸發,同步的數據和實際數據會有差異,而inotify可以監控文件系統的各種變化,當文件有任何變動時,就觸發rsync同步,結合使用rsync+inotify工具很好的解決了同步數據的實時性問題。

基礎linux教程建議你看看《linux就該這么學》這本書:www.linuxprobe.com

3、linux 的rsync是以什麼用戶身份來寫入目標伺服器的?

客戶端推到服務端時,文件的屬主和屬組是配置文件中指定的uid和gid。但是客戶端從服務版端拉的權時候,文件的屬主和屬組是客戶端正在操作rsync的用戶身份,因為執行rsync程序的用戶為當前用戶。我認為是這樣,你試試看。這個是基本的命令,另外你是運維的話可以看看Linux 這個可以試試。建議看看《Linux就該這么學》 裡面有個專欄是 Linux命令大全(手冊) 加入我們的群,

4、2個linux伺服器間通過ftp同步文件的shell腳步,需要shell腳步,最好能加一點注釋。謝謝

服務之間的數據同步,一般用rsync。
一、伺服器端配置:
# yum -y install xinetd
# vi /etc/xinetd.d/rsync
將如下代碼
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}
中的 disable = yes 改成 disable = no
然後啟動 xinetd
# vi /etc/rsyncd.conf
[backup]
path = /www
auth users = admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[伺服器代號]
path = 備份文件路徑
auth users = 授權帳號
uid = 執行時的uid
gid = 執行時的gid
secrets file = 密碼文件位置
read only = 是否只讀
# vi /etc/rsyncd.secrets
admin:1234 #用戶名:密碼

給文件正確的許可權
# chown root:root /etc/rsyncd.secrets
# chmod 600 /etc/rsyncd.secrets
二、client 端進行同步
客戶端默認好像已經裝了rsync,沒有的話裝下:
# yum -y install rsync
執行非同步同步操作:
/usr/bin/rsync -avz –progress [email protected]::backup /www

5、如何查看遠程linux伺服器目錄

1.ftp 方式
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取伺服器上e:\rose\1.bmp,則
ftp> get /rose/1.bmp 1.bmp (回車)
b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取伺服器上e:\rose\下的所有文件,則
ftp> cd /rose
ftp> mget *.* (回車)
2.scp or rcp方式
rcp or scp -P port [email protected]:./testfile testfile #復制遠程文件到本地
rcp or scp -P port -r testfile(本地) [email protected]:home/rootlocal/testfile #復制文件到遠程
3.rsync方式

rsync -az -e "ssh -i $KEY" $RUSER@$RHOST:$RPATH $LPATH 遠程拷貝文件到本地
關於Linux命令的介紹,看看《linux就該這么學》,具體關於這一章地址3w(dot)linuxprobe/chapter-02(dot)html.

6、linux rsync 遠程伺服器與區域網內的電腦 ,要怎麼同步呢

好比A為伺服器端的ip B為client端的ip.

你想從A上拉xxx模塊下的yyy文件到B的當前目錄。。

在B上執行 rsync -a A::xxx/yyy ./
確保A的rsyncd.conf裡面的專xxx模塊中有屬 hosts allow = B 這句話就好。給分吧親。

7、如何使用 rsync 將 Windows 上的文件備份到 Linux 伺服器上

1.備份a)可以直接通過tar對整個文件系統('/『)進行備份,但是有幾點需要注專意:
i. 不能備份以屬下幾個文件(目錄)
1. 當前壓縮文件
2. /proc文件夾
3. /lost+found文件夾
4. /mnt文件夾
5. /sys文件夾
6. /media文件夾
b)所以,命令為:
tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /
1.注意:p選項代表保存當前許可權

2.還原
a) Linux可以再正在遠行的系統中還原系統,如果當前啟動無法啟動,可以通過live cd來啟動並執行恢復操作
b) 操作如下
tar xcpfz backup.tar.gz -C /
c) 需要額外創建目錄
i.
mkdir proc
ii.
mkdir lost+found
iii.
mkdir mnt
iv.
mkdir sys

8、linux中的rsync命令

rsync和ssh是兩個單獨命令。

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

〔options〕我只給你列出-e的參數。
-e,
--rsh=COMMAND

specify the remote shell to use
--rsync-path=PROGRAM
specify the rsync to run on the remote machine
--existing

skip creating new files on receiver
--ignore-existing
skip updating files that already exist on receiver
--remove-source-files
sender removes synchronized files (non-dirs)
--del

an alias for --delete-ring
--delete

delete extraneous files from destination dirs
--delete-before

receiver deletes before transfer, not ring
--delete-ring

receiver deletes ring transfer (default)
--delete-delay

find deletions ring, delete after
--delete-after

receiver deletes after transfer, not ring
--delete-excluded
also delete excluded files from destination dirs
--ignore-errors

delete even if there are I/O errors
--force

force deletion of directories even if not empty
--max-delete=NUM

don't delete more than NUM files
--max-size=SIZE

don't transfer any file larger than SIZE
--min-size=SIZE

don't transfer any file smaller than SIZE
--partial

keep partially transferred files
--partial-dir=DIR
put a partially transferred file into DIR
--delay-updates

put all updated files into place at transfer's end

ssh語法: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]

[-D [bind_address:]port] [-e escape_char] [-F configfile]

[-i identity_file] [-L [bind_address:]port:host:hostport]

[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]

[-R [bind_address:]port:host:hostport] [-S ctl_path]

[-w local_tun[:remote_tun]] [user@]hostname [command]

9、linux下怎麼安裝rsync實現定時增量備份文件

伺服器需求:需要備份文件的伺服器(伺服器端):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 #默認配置,生成編譯環境

10、兩個linux伺服器之間如何進行資源的移動

如果是單個文件用scp或者rsync
如果是一個文件夾,裡面有很多文件,最好使用rsync

與linuxrsync伺服器相關的知識