linux學習筆記-rsync+crond定時備份服務
定時備份數據方案
第1章 備份要求
公司裏有一臺Web服務器,裏面的數據很重要,但是如果硬盤壞了,數據就會丟失,現在領導要求你把數據在其他機器上做一個周期性定時備份。要求如下:
每天晚上00點整在Web服務器A上打包備份系統配置文件、網站程序目錄及訪問日誌,並通過rsync命令推送到服務器B上備份保留(備份思路可以是先在本地按日期打包,然後再推送到備份服務器B上)。
具體要求如下:
1)web服務器A和備份服務器B的備份目錄必須都為/backup。
2)要備份的系統配置文件包括但不限於:
a. 定時任務的配置文件(/var/spool/cron/root)
b. 開機自啟動的配置文件(/etc/rc.local)
c. 日常腳本的目錄(/service/scripts)
d. 防火墻iptables的配置文件(/etc/sysconfig/iptables)
3)web服務器站點目錄假定為(/var/html/www)
4)web服務器A訪問日誌路徑假定為(/app/logs)
5)web服務器保留打包後的7天的備份數據即可(本地留存不能多於7天,因為太多硬盤會滿)
6)備份服務器B按照備份數據服務器的IP地址命名備份文件夾,周六的數據都保留,其他備份僅保留180天的備份。
7)備份服務器B上檢查備份結果是否正常,並將每天的備份結果發給管理員。
第2章 實現思路
2.1文件打包命令
打包命令:tar -zxvf name.tar.gz $file
舉例:打包文件/etc/hosts到/back目錄,打包文件名為test.tar.gz
[root@nfs01 ~]# ls /backup/ [root@nfs01 ~]# [root@nfs01 /]# cd /&& tar -zcvf /backup/test.tar.gz etc/hosts etc/hosts [root@nfs01 /]# ls /backup/ test.tar.gz
2.2按日期打包
獲取當前日期的命令:date+%F
舉例:打包文件/etc/hosts到/back目錄,打包文件名按日期區分
[root@nfs01 /]# cd / && tar -zcvf/backup/$(date +%F).tar.gz etc/hosts etc/hosts [root@nfs01 /]# ls /backup/ 2017-11-04.tar.gz test.tar.gz
2.3周六包特別命名
因為服務器需要保留周六的文件包,所以在打包周六的文件時,需要給文件特殊命名,以便區分。
[root@nfs01 /]# cd / && tar -zcvf/backup/$(date +%F)_week6.tar.gz etc/hosts etc/hosts [root@nfs01 /]# ls /backup/ 2017-11-04.tar.gz 2017-11-04_week6.tar.gz test.tar.gz
2.4上傳文件到服務器
通過rsync服務將文件上傳到備份服務器的指定的目錄,安裝Rsync服務的步驟參省略。
測試上傳:
[root@nfs01 /]# rsync -avz /backup/$(date+%F).tar.gz rsync_backup@backup::backup --password-file=/etc/rsync.password sending incremental file list 2017-11-04.tar.gz sent 305 bytes received 27 bytes 664.00bytes/sec total size is 223 speedup is 0.67
註意:將打包文件放在/backup/本地IP/目錄下,再將整個IP目錄上傳
2.5數據校驗
命令:md5sum
md5sum有數據校驗的功能,具體做法是用md5sum命令對文件生成一個校驗碼,然後將這個校驗碼放在一個任意文件中,再使用md5sum -c參數來檢查是否有變動。具體做法如下:
對文件生成一個校驗文件:
[root@backup backup]# ls 2017-11-04.tar.gz [root@backup backup]# md5sum2017-11-04.tar.gz b29cee519b7991a429c353b11c01d533 2017-11-04.tar.gz [root@backup backup]# md5sum 2017-11-04.tar.gz> md5sum_check #<==生成唯一的校驗碼並寫入到文件中 [root@backup backup]# cat md5sum_check b29cee519b7991a429c353b11c01d533 2017-11-04.tar.gz
linux學習筆記-rsync+crond定時備份服務