自動化備份全網服務器數據平臺
項目背景知識
總體需求
某企業里有一臺Web服務器,里面的數據很重要,但是如果硬盤壞了數據就會丟失,現在領導要求把數據做備份,這樣Web服務器數據丟失在可以進行恢復。要求如下:1.每天00點整在Web服務器上按日期打包備份系統配置文件、網站程序目錄及訪問日志文件。2.通過rsync命令推送到備份服務器上保存。3.備份服務器定時清除舊記錄。4.搭建郵件告警平臺。
備份需求
1.所有服務器的備份目錄必須都為/backup。2.要備份的系統配置文件包括但不限于:3.定時任務服務的配置文件(/var/spool/cron/root) (適合Web和NFS服務器)。4.開機自啟動的配置文件(/etc/rc.local) (適合Web和NFS服務器)。5.日常腳本的目錄 (/server/scripts)。
Web服務器要求
1.Web站點目錄假定為/var/html/www,如果沒有,可以先模擬創建。2.Web服務器訪問日志路徑假定為/app/logs,如果沒有,可以先模擬創建。3.Web服務器本地保留打包后的7天備份數據即可(本地留存不能多于7天,因為數據太多硬盤會滿)。
備份服務器要求
1.保留最近7天所有備份數據,保留6個月內每周一的所有數據副本。2.要按照備份數據服務器內網IP為目錄名稱,備份的文件按照時間、名稱為文件名稱。3.需要確保備份的數據盡量完整準確,在備份服務器上對備份的數據是否完整進行檢查。4.備份服務器每天早晨8:00把備份成功或失敗結果信息發送到系統管理員郵箱里。
項目環境
項目拓撲
軟硬件環境
!!! Centos7.9的iso下載鏈接:https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-
DVD-2207-02.iso
項目實施步驟:
1.環境搭建
1.1web01服務器環境搭建
1.1.1.安裝Centos7.9系統,替換yum源,連接xshell,過程略
1.1.2.關閉防火墻和selinux,設置主機名
1.1.3.設置靜態ip
重新啟動
1.1.4.安裝所有軟件
1.1.5.部署網站
1.1.6.配置nginx文件
如果顯示wget命令報錯,需要先安裝wget
重啟nginx之后,到瀏覽器輸入web01ip地址測試網站是否搭建成功。
到此,web01服務器搭建完成。
1.2.nfs01服務器環境搭建
1.2.1.安裝Centos7.9系統,替換yum源,連接xshell,過程略
1.2.2.關閉防火墻和s!elinux,設置主機名
1.2.3.設置靜態ip
1.2.4.安裝必備軟件
1.2.5.部署共享存儲,nfs01為服務端,web01為客戶端
1.2.5.1. 在nfs01服務端操作
1.2.5.2. web01客戶端操作
永久掛載
到此,nfs01服務器搭建完成。
1.3 backup服務器環境搭建
1.3.1.安裝Centos7.9系統,替換yum源,連接xshell,過程略
1.3.2.關閉防火墻和selinux,設置主機名
1.3.3.設置靜態ip
1.3.4. 安裝需要的軟件
1.3.5. 修改rsync配置文件
1.3.6. 根據配置文件設置
1.3.6.1 創建rsync賬戶及共享目錄并修改目錄屬主為rsync
1.3.6.2 開機并啟動服務
1.3.6.3 創建rsync虛擬賬戶名和密碼,并賦予密碼文件600權限
1.4 配置web01客戶端本地備份腳本
1.4.1. web01客戶端主機需要打包備份的內容:
1.4.2. 編寫備份web01服務器的腳本
客戶端建立認證文件的密碼
測試
1.5 配置nfs01客戶端本地備份腳本
1.5.1. nfs01客戶端主機需要打包備份的內容:
1.5.2.編寫備份nfs01服務器的腳本
測試:在backup備份服務器中可以看到推送的數據
1.6 配置定時任務
1.6.1. web01服務器編輯定時任務,實現每天00:00定時備份本地數據,并推送到Rsync服務器上
1.6.1.1 查看crond服務狀態,默認已安裝
注意若未安裝可執行:
[root@web01 ~]# yum install crontabs
1.6.1.2 編輯定時任務
若出現定時任務如下信息不用處理:
no crontab for root - using an empty one
crontab: installing new crontab
nfs01服務器過程同上
backup服務器編寫腳本,實現刪除180天前的所有備份數據,但保存每周一的
1.6.1.3 backup服務器配置定時任務,實現服務端180天前數據自動刪除
1.7 數據傳輸完整性驗證與監控告警
1.7.1. 驗證數據完整性
backup服務端針對客戶端備份時的md5指紋數據,利用MD5命令進行驗證,完成數據傳輸過程完整性驗證。
1.8 配置郵件告警
1.8.1. 安裝郵件服務
1.8.2.配置qq郵箱ssl證書
1.8.3. 配置郵件服務
在最后一行添加如下內容
1.8.4. 測試郵件服務