今天的主角是:web01
實(shí)踐排除復(fù)制:
NFS01:
[root@nfs01 ~]# mkdir /data -p
[root@nfs01 ~]# cd /data
[root@nfs01 /data]# touch {a..d}
[root@nfs01 /data]# ls
a? b? c? d
--exclude 排除參數(shù)
例:排除 a b
[root@nfs01 /data]# rsync -avz /data/ --exclude=a --exclude=b? rsync_backup@172.16.1.41::backup
sending incremental file list
./
c
d
排除1到4
[root@nfs01 /data]# touch {1..5}
[root@nfs01 /data]# rsync -avz /data/ --exclude={1..4}? rsync_backup@172.16.1.41::backup
sending incremental file list
./
5
a
b
[root@nfs01 /data]# rsync -avz /data/ --exclude={1,3,a}? rsync_backup@172.16.1.41::backup
sending incremental file list
2
4
--exclude-from 從文件排除
[root@nfs01 /data]# rsync -avz /data/ --exclude-from=./paichu.txt? rsync_backup@172.16.1.41::backup
sending incremental file list
./
16
17
18
19
20
paichu.txt
實(shí)踐刪除:
rsync作為鏡像糜工,相當(dāng)于raid1实苞,讓兩臺服務(wù)器目錄保持一致裤纹。
--delete 讓兩臺服務(wù)器目錄保持一致
推送:
rsync -avz --delete /data/? rsync_backup@172.16.1.41::backup
本地目錄有啥,遠(yuǎn)端就有啥置逻。
注意:遠(yuǎn)端目錄是不是東西更多,多了東西會被刪除勋锤。提前備份backup對應(yīng)的目錄絮姆。
rsync -avz --delete rsync_backup@172.16.1.41::backup /data/
遠(yuǎn)端有啥。本地目錄就有啥卫袒,注意本地/data目錄宵呛。把/data改成根。提前注意備份本地/data
--partial 支持大文件斷點(diǎn)續(xù)傳
--bwlimit=KBPS 限速夕凝。
企業(yè)案例:
某上市公司宝穗,白天高峰期某DBA人員從數(shù)據(jù)庫服務(wù)器通過rsync將上百GB數(shù)據(jù)復(fù)制到備份服務(wù)器,導(dǎo)致數(shù)據(jù)庫庫服務(wù)器帶寬占滿码秉,造成用戶無法訪問網(wǎng)站的悲劇逮矛。其實(shí)可以利用rsync限速功能,將復(fù)制速度限制在剩余帶寬的1/3或者1/2转砖,可能就不會出現(xiàn)故障了
1)最簡單的實(shí)現(xiàn)须鼎,可以在配置文件結(jié)尾加如下內(nèi)容(特殊底紋部分):
[root@backup ~]# cat /etc/rsyncd.conf
#rsync_config_______________start
#created by oldboy
#site: http://www.oldboyedu.com
uid = rsync
gid = rsync
use chroot = no
fake super = yes
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = welcome to oldboyedu backup.
path = /backup/
[data]? ? ? ? #<==新模塊。
path = /data/? #<==新備份目錄府蔗。
#除了增加以上兩行外晋控,讀者也可以設(shè)定更多的獨(dú)立配置參數(shù),例如:獨(dú)立虛擬用戶姓赤,獨(dú)立密碼文件等赡译。
2)建立目錄并授權(quán)。
[root@backup ~]# mkdir -p /data
[root@backup ~]# chown -R rsync.rsync /data
[root@backup ~]# ls -ld /data
drwxr-xr-x 2 rsync rsync 6 4月? 16 10:04 /data
3)重啟rsync服務(wù)(只要修改配置不铆,就考慮重載服務(wù))
[root@backup ~]# systemctl restart rsyncd
4)從客戶端訪問測試
[root@backup ~]# ls /data
etc
1蝌焚、內(nèi)部人員產(chǎn)生的數(shù)據(jù)(定時(shí)備份足矣):
程序員開發(fā)代碼(他電腦上)==>代碼服務(wù)上(git/svn代碼版本管理)==>測試環(huán)境測試===>正式環(huán)境
原則上程序代碼可以不備份。
運(yùn)維人員狂男,寫個(gè)定時(shí)任務(wù)综看,寫個(gè)備份腳本,更改或增加服務(wù)配置rsyncd.conf岖食,需要備份
運(yùn)維人員修改配置(測試服務(wù)器)==>代碼服務(wù)器上(git/svn代碼版本管理)==>測試環(huán)境測試===>正式環(huán)境
原則上運(yùn)維人員的變更可以不備份红碑。
2、用戶產(chǎn)生的數(shù)據(jù)(必須實(shí)時(shí)備份)
圖片泡垃、視頻等文件是放在存儲服務(wù)器上的析珊,任意時(shí)刻都可能傳上來,必須實(shí)時(shí)備份蔑穴。
文本(博客文章)忠寻,放在數(shù)據(jù)庫里,存和,任意時(shí)刻都可能發(fā)布奕剃,必須實(shí)時(shí)備份衷旅。
企業(yè)案例:
2.1.2 項(xiàng)目需求說明
某公司里有一臺 web 服務(wù)器,里面的數(shù)據(jù)很重要纵朋,但是如果硬盤壞了柿顶,數(shù)據(jù)
就會丟失,現(xiàn)在領(lǐng)導(dǎo)要求把數(shù)據(jù)做備份操软,這樣 web 服務(wù)器數(shù)據(jù)丟失可以進(jìn)行恢復(fù)嘁锯,
要求如下:
每天晚上 00 點(diǎn)整在 web 服務(wù)器 A 上打包備份系統(tǒng)配置文件、網(wǎng)站程序目錄
及訪問日志并通過 rsync 命令推送到服務(wù)器 B 上備份保留(備份思路可以是先在
本地按日期打包聂薪,然后再推到備份服務(wù)器 B 上)
已知 3 臺服務(wù)器主機(jī)名分別為 web01家乘、backup 、nfs01藏澳,主機(jī)信息見下表:
表 2-7 全網(wǎng)備份主機(jī)信息表
服務(wù)器說明
外網(wǎng) IP(NAT) SSH
用
內(nèi)網(wǎng) IP(NAT) 交換數(shù)據(jù)
用 主機(jī)名稱
nginx web 服務(wù)器 10.0.0.7/24 172.16.1.7/24 web01
NFS 存儲服務(wù)器 10.0.0.31/24 172.16.1.31/24 nfs01
rsync 備份服務(wù)器 10.0.0.41/24 172.16.1.41/24 backup
? 備份要求
每天晚上 00 點(diǎn)整在 Web 服務(wù)器上打包備份系統(tǒng)配置文件仁锯、網(wǎng)站程序目錄及
訪問日志并通過 rsync 命令推送備份服務(wù)器 backup 上備份保留
2.1.3 具體備份需求
? 所有服務(wù)器的備份目錄必須都為/backup
? 要備份的系統(tǒng)配置文件包括但不限于:
a) 定時(shí)任務(wù)服務(wù)的配置文件 (/var/spool/cron/root) (適合 web 和 nfs 服
務(wù)器)。
b) 開機(jī)自啟動(dòng)的配置文件 (/etc/rc.local) (適合 web 和 nfs 服務(wù)器)笆载。
c) 日常腳本的目錄 (/server/scripts)扑馁。
? Web 服務(wù)器站點(diǎn)目錄假定為/var/html/www,如果沒有可以先模擬創(chuàng)建凉驻。
? Web 服務(wù)器訪問日志路徑假定為/app/logs,如果沒有可以先模擬創(chuàng)建复罐。
? Web 服務(wù)器本地保留打包后的 7 天備份數(shù)據(jù)即可(本地留存不能多于 7 天涝登,
因?yàn)樘嘤脖P會滿) 。
? 備份服務(wù)器 backup 上,保留最近 7 天的備份數(shù)據(jù)效诅,同時(shí)保留 6 個(gè)月內(nèi)每周一
的所有數(shù)據(jù)副本胀滚。
? 備份服務(wù)器上,要按照備份數(shù)據(jù)服務(wù)器的內(nèi)網(wǎng) IP 為目錄保存?zhèn)浞荩瑐浞莸奈?/p>
件按照時(shí)間名字保存乱投。
? 需要確保備份的數(shù)據(jù)盡量完整正確咽笼,在備份服務(wù)器上對備份的數(shù)據(jù)是否完整
進(jìn)行檢查。
? 每天早晨 8:00 把備份成功或失敗結(jié)果信息發(fā)給系統(tǒng)管理員郵箱中
在web01寫腳本:
然后再在nfs寫腳本:
在backup寫腳本:
最后在backup寫定時(shí)任務(wù):