1. 程式人生 > >全網資料備份方案

全網資料備份方案

1 專案備份環境

已知3臺伺服器主機名分別為web01、backup、nfs01,主機資訊見下表:

伺服器說明 外網IP 內網IP 主機名稱
web伺服器 10.0.0.7/24 172.16.1.7/24 web01
nfs儲存伺服器 10.0.0.31/24 172.16.1.31/24 nfs01
rsync備份伺服器 10.0.0.41/24 172.16.1.41/24 backup

2 專案備份要求

具體要求如下:
(1)所有伺服器的備份目錄必須都為/backup。
(2)要備份的系統配置檔案包括但不限於:
    a.定時任務服務的配置檔案(/var/spool/cron/root)(適合web和nfs伺服器)。

    b.開機自啟動的配置檔案(/etc/rc.local)(適合web和nfs伺服器)。
    c.日常指令碼的目錄 (/server/scripts)(適合web和nfs伺服器)。
    d.防火牆iptables或firewalld配置檔案(/etc/sysconfig/iptables或 /etc/firewalld)(適合web和nfs伺服器)。
    e.自己思考下還有什麼需要備份呢?
(3)Web伺服器站點目錄假定為(/var/html/www)(適合web伺服器)。
(4)Web伺服器A訪問日誌路徑假定為(/app/logs)(適合web伺服器)。
(5)Web伺服器保留打包後的7天的備份資料即可(本地留存不能多於7天,因為太多硬碟會滿)
(6)備份伺服器上,保留最近6個月的備份資料,同時保留6個月之前每週一的所有資料
(7)備份伺服器上要按照備份資料伺服器的內網IP為目錄儲存備份,備份的檔案按照時間名字儲存。
(8)需要確保備份的資料儘量完整正確,在備份伺服器上對備份的資料進行檢查,把備份的成功及失敗結果資訊發給系統管理員郵箱中
(9)搭建NFS儲存實現web伺服器網站圖片、附件共享
(10)NFS儲存資料實時備份
 
(1)每天晚上00點整在web伺服器上打包備份系統配置檔案、網站程式目錄及訪問日誌並通過rsync命令推送備份伺服器backup上備份保留。
(2)每天晚上00點整在nfs伺服器上打包備份系統配置檔案,並通過rsync命令推送備份伺服器backup上備份保留。
思路:
備份思路可以是先在本地按日期打包,然後再推到備份伺服器backup上,備份完成後要進入解壓檔案,檢視一下是否有內容,nfs儲存伺服器同web伺服器,實際工作中就是全部的伺服器。

3 專案備份邏輯架構圖


4 專案實施配置

(1)首先三臺伺服器的備份目錄都要為backup

mkdir /backup       #web01,nfs01,backup伺服器都要建立backup

(2)要備份的系統配置檔案包括但不限於
    a.定時任務服務的配置檔案(/var/spool/cron/root)(適合web和nfs伺服器)。
    b.開機自啟動的配置檔案(/etc/rc.local)(適合web和nfs伺服器)。
    c.日常指令碼的目錄 (/server/scripts)(適合web和nfs伺服器)。
    d.防火牆iptables或firewalld配置檔案(/etc/sysconfig/iptables或 /etc/firewalld)(適合web和nfs伺服器)。
     
(3)Web伺服器站點目錄假定為(/var/html/www)(適合web伺服器)。

[root@web01 ~]# mkdir /var/html/www -p

(4)Web伺服器A訪問日誌路徑假定為(/app/logs)(適合web伺服器)。

[root@web01 ~]# mkdir /app/logs -p

(5)Web伺服器保留打包後的7天的備份資料。

find /backup -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null
2>/dev/null:如果沒有7天之前的資料會產生錯誤報告資訊,因此將錯誤資訊追加到/dev/null,不會產生錯誤資訊。

(6)備份伺服器上,保留最近6個月的備份資料,同時保留6個月之前每週一的所有資料。

find /backup -type f -mtime +180 -name "*.tar.gz"|xargs rm
#   方法一:在檔名稱中顯示星期資訊
#   data+%A/date +%w
find /backup/ -type f -name "*.tar.gz" -mtime +180 ! -name "*星期1.tar.gz"|xargs rm 2>/dev/null
#   方法二:將週一資料單獨儲存
#   今天是週一
mkdir /backup/week01
rsync -avz /backup/week01 [email protected]::backup/week01/
find /backup/ -path "/backup/week01" -prune -o -type f -name "*.tar.gz" -print |xargs rm

(7)備份伺服器上要按照備份資料伺服器的內網IP為目錄儲存備份,備份的檔案按照時間名字儲存。

[root@backup ~]#    mkdir /backup/172.16.1.7 172.16.1.31

(8)需要確保備份的資料儘量完整正確,在備份伺服器上對備份的資料進行檢查,把備份的成功及失敗結果資訊發給系統管理員郵箱中
 

rsync -avz /backup/ [email protected]::backup --password-file=/etc/rsync.password
md5sum /backup/172.16.1.31/system_backup_2019-07-18_星期4.tar.gz >/backup/172.16.1.31/finger.txt
####    md5值追加給finger.txt(指紋檔案)
md5sum -c finger.txt        ### 自動對比md5值

 

vim /etc/mail.rc
set [email protected] smtp=smtp.163.com 
set [email protected] smtp-auth-password=ichn123456 smtp-auth=login
#   將這兩條命令新增到最後一行
systemctl restart postfix.service   #   重啟郵件
echo "linux ichn62"|mail -s "test_mail" [email protected] #   測試郵件是否能傳送
mail -s "test_mail" [email protected] </etc/hosts                     # 測試郵件是否能傳送

整理以上命令編寫指令碼
 

mkdir /server/scripts/  #建立指令碼目錄
[root@web01 scripts]#vi system_backup.sh 
#!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

# 建立本地備份目錄
mkdir -p $Dir_info/$IP_info

# 建立本地備份壓縮檔案,備份站點目錄和日誌目錄
cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
tar zchf $Dir_info/$IP_info/web_backup_$(date +%F_星期%w).tar.gz ./var/html/www/
tar zchf $Dir_info/$IP_info/web_log_$(date +%F_星期%w).tar.gz ./app/logs/

# 生成資料指紋資訊
find $Dir_info/$IP_info/ -type f  -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

# 傳輸備份資料
rsync -az $Dir_info/ [email protected]::backup --password-file=/etc/rsync.password

# 刪除七天以前備份資料
find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

 

mkdir /server/scripts/  #建立指令碼目錄
[root@nfs01 scripts]#vi system_backup.sh 
#!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

# 建立本地備份目錄
mkdir -p $Dir_info/$IP_info

# 建立本地備份壓縮檔案
cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables

# 生成資料指紋資訊
find $Dir_info/$IP_info/ -type f  -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

# 傳輸備份資料
rsync -az $Dir_info/ [email protected]::backup --password-file=/etc/rsync.password

# 刪除七天以前備份資料
find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

  

mkdir /server/scripts/  #建立指令碼目錄
[root@backup scripts]#vi backup_check.sh 
[root@backup scripts]#cat backup_check.sh 
#!/bin/bash

#驗證資料完整性
find /backup/ -type f -name "finger.txt"|xargs md5sum -c &>/tmp/check_info.txt

#傳送郵件資訊通知
mail -s "backup_check_info" [email protected] </tmp/check_info.txt

#刪除6個月之前資料
find /backup/ -type f -name "*.tar.gz" -mtime +180 ! -name "*星期1.tar.gz"|xargs rm 2>/dev/null

編寫定時任務
WEB服務端:

[root@web01 /]#crontab -e
00 00 * * * /bin/sh /server/scripts/system_backup.sh &>/dev/null

NFS客戶端:

[root@nfs01 /]#crontab -e
00 00 * * * /bin/sh /server/scripts/system_backup.sh &>/dev/null

backup服務端:

[root@backup /]#crontab -e
0 6 * * * /bin/sh /server/scripts/backup_check.sh &>/dev/null

可以修改系統時間來驗證指令碼,定時是否成功。

相關推薦

全網資料備份方案

1 專案備份環境 已知3臺伺服器主機名分別為web01、backup、nfs01,主機資訊見下表: 伺服器說明 外網IP 內網IP 主機名稱 web伺服器 10.0.0.7/24 172.16.1.7/24 web01 nfs儲存伺服器 10.0.0.31/24 172.16.1.31/24

Redis-企業級資料備份方案

一、企業級的持久化配置策略 1、首先是RDB的生成策略,這點用Redis預設的配置即可,比如:save 60 10000。但是如果我們希望儘可能確保說,RDB最多丟1分鐘的資料,那麼儘量就是每隔1分鐘都生成一個快照,比如設定成:save 60 1000。個人覺得預設的配置即可,當然我們也可以

05-專案中部署redis企業級資料備份方案

1、企業級的持久化的配置策略 在企業中,RDB的生成策略,用預設的也差不多 save 60 10000:如果你希望儘可能確保說,RDB最多丟1分鐘的資料,那麼儘量就是每隔1分鐘都生成一個快照,低峰期,資料量很少,也沒必要 10000->生成RDB,1

混合雲端儲存組合拳:基於雲端儲存閘道器與混合雲備份的OSS資料備份方案

前言阿里雲物件儲存(OSS)使用者眾多。很多使用者因為業務或者合規性需求,需要對OSS內的資料做備份,無論是線上備份,還是線下備份。使用者可以選擇使用OSS的開放API,按照業務需求,做資料的備份,也可以選擇OSS已有的服務進行資料備份,比如OSS的跨域複製。但是,前一種方式,存在易用性和備份效率問題;後一種

MySQL 大資料備份方案之Percona XtraBackup

  Xtrabackup介紹 1、Xtrabackup是什麼 Xtrabackup是一個對InnoDB做資料備份的工具,支援線上熱備份(備份時不影響資料讀寫),是商業備份工具InnoDB Hotbackup的一個很好的替代品。 Xtrabackup有兩個主要的工具:xtrabackup、innoback

04.簡單瞭解一下Redis企業級資料備份方案

### 一、企業級的持久化的配置策略 * * * (1)每隔1分鐘去檢查如果超過10000個可以變更,則生成一個快照。RDB最多丟1分鐘的資料。 ``` save 60 10000 ``` (2)AOF一定要開啟,fsync,everysec ```properties #就是當前AOF大小膨脹到超過上次

搭建企業級全網數據定時備份方案【cron + rsync】

關閉 stat time all delete lis gre file lap 1.1.1. 服務端的配置[192.168.25.141] Rsync的端口是:873 man rsyncd.conf 查看幫助1.vim /etc/rsyncd.conf vi /etc

異地備份方案_多地統一備份_瞬間資料恢復

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

rsync+inotify實現全網自動化資料備份-技術流ken

1.rsync簡介 “rsync是linux系統下的資料映象備份工具。使用快速增量備份工具Remote Sync可以遠端同步,支援本地複製,或者與其他SSH、rsync主機同步” 2.rsync的功能和特點 1. 可以實現伺服器各種資源的備份(可以誇檔案系統) 2. linux-rsync,windows-c

redis企業級資料備份和恢復方案

1、企業級的持久化的配置策略 在企業中,RDB的生成策略,用預設的配置基本可以滿足日常需求。也可以根據業務資料量進行一定的調整: rdb: save 60 10000:如果希望儘可能確保RDB最多丟1分鐘的資料,那麼儘量就是每隔1分鐘都生成一個快照,對於

HBase的資料備份容災遷移方案:Distcp,CopyTable,Export/Import,Snapshot,Replication

HBase的資料備份或者容災方案有這幾種:Distcp,CopyTable,Export/Import,Snapshot,Replication,以下分別介紹(以下描述的內容均是基於0.94.20版本)。 一、Distcp    在使用distcp命令copy hdfs檔

資料安全而生,阿里雲容災備份方案場景實踐解析

摘要: 數字經濟時代,資料正以超出想象的速度快速增長。短短几年,資料量已經從TB級別躍升到PB乃至ZB級別。 數字經濟時代,資料正以超出想象的速度快速增長。短短几年,資料量已經從TB級別躍升到PB乃至ZB級別。 根據相關研究機構調查結果顯示,2017 年全年資料總量將超過

數據庫備份方案

存儲引擎 自己的 命令 端口 數據庫備份 開發 程序管理 6.4 執行指定 數據庫備份方案 一 為什麽需要備份數據? 在生產環境中我們數據庫可能會遭遇各種各樣的不測從而導致數據丟失, 大概分為以下幾種. 硬件故障 軟件故障 自然災害 黑客攻擊 誤操作

使用percona-xtrabackup工具對mysql數據庫的備份方案

因此 name 遠程 tables pex 兩臺 days 裝包 support 使用percona-xtrabackup工具對mysql數據庫的備份方案 需要備份mysql的主機 172.16.155.23存放備份mysql的主機 172.16.155.22 目的:將

硬盤格式化了的資料恢復方案

拷貝 f11 註意事項 fff 程序 按鈕 文件 選擇 RM 格式化後F盤只剩下一點格式化產生的隱藏文件。不過如果馬上停止寫入新的文件,那麽絕大部分文件都可以恢復的。具體恢復的方法也很簡單。 工具/軟件:星空數據恢復軟件 步驟1:先百度搜索並下載軟件打開後,直接雙擊需要恢復

N+1數據鏡像熱備份方案--北京三木聯合

完美解決方案 lock -- 維修 min 可靠 代理 服務器代理 完全 NEC容錯服務器;容錯服務器;美國容錯;FT Server;海德智能系統;NEC Express 5800/FT 1、NEC容錯服務器采用雙模塊架構全冗余設計,有兩套完全相同的模塊化配置,具有全硬件

淺談Mysql數據庫的備份方案

all data dmi 51cto 刪除 redo 關於 skip date 自從入行幹IT互聯網已經有些年頭了,以前自己確實比較懶,從來不寫博文,從來不總結工作經驗,導致自身的技術提升的很慢,成長也是很慢,正兒八經的開始寫博文也是從去年才開始的,寫點東西,總結下,確實挺

資料備份還原實驗

bcf 51cto afa ext cbe 我們 mar -o 丟失 一、server2016上進行資料備份並還原我們要把C盤“重要資料”備份到E盤、C盤意外丟失“重要資料”通過備份還原“重要資料”具體流程如下: 還有一種備份計劃我們也可以嘗試備份具體如下:雖然只是備份實驗

解決全網伺服器備份至rsync,每日通知管理員備份結果

解決全網伺服器備份至rsync,每日通知管理員備份結果 //每天需要備份的伺服器上執行定時任務備份,具體備份的檔案自定義(下面列舉了一些) [[email protected] /soft/scripts]# vim rsync_cron_backup.sh #!/bi

extmail資料備份和mysql庫備份

郵件檔案備份 [[email protected] extman]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_mail-lv_root