1. 程式人生 > >rsync備份案例

rsync備份案例

fig ssl size yum 本地 set .com ddr don

客戶端需求

1.客戶端提前準備存放的備份的目錄,目錄規則如下:/backup/nfs_172.16.1.31_2018-09-02

2.客戶端在本地打包備份(系統配置文件、應用配置等)拷貝至/backup/nfs_172.16.1.31_2018-09-02

3.客戶端最後將備份的數據進行推送至備份服務器

4.客戶端每天淩晨1點定時執行該腳本

5.客戶端本地保留最近7天的數據, 避免浪費磁盤空間

?

服務端需求

1.服務端部署rsync,用於接收客戶端推送過來的備份數據

2.服務端需要每天校驗客戶端推送過來的數據是否完整

3.服務端需要每天校驗的結果通知給管理員

4.服務端僅保留6個月的備份數據,其余的全部刪除

?

客戶端配置

[[email protected] ~]# for i in {1..30};do date -s 2018/12/$i;sh /server/scripts/client_push_data.sh ;done

[[email protected] ~]# cat /server/scripts/client_push_data.sh

#!/bin/bash

#1.定義變量

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

SRC=/backup

HOST=$(hostname)

ADDR=$(ifconfig eth1|awk ‘NR==2 {print $2}‘)

DATE=$(date +%F)

DEST=${HOST}_${ADDR}_${DATE}

#2.創建目錄

[ -d $SRC/$DEST ] || mkdir -p $SRC/$DEST

#3.備份文件

cd / &&

[ -f $SRC/$DEST/sys.tar.gz ] || tar czf $SRC/$DEST/sys.tar.gz etc/fstab etc/passwd &&

[ -f $SRC/$DEST/other.tar.gz ] || tar czf $SRC/$DEST/other.tar.gz var/spool/cron/ server/scripts &&

#4.使用md5打標記

[ -f $SRC/$DEST/flag_$DATE ] || md5sum $SRC/$DEST/*.tar.gz > $SRC/$DEST/flag_$DATE

#4.本地推送到備份服務器

export RSYNC_PASSWORD=123456

rsync -avz $SRC/$DEST [email protected]::backup

#5.保留本地最近7天的數據

find $SRC/ -type d -mtime +7|xargs rm -rf

?

服務端配置

1.配置郵件

[[email protected] ~]# yum install mailx -y

[[email protected] ~]# vim /etc/mail.rc

set [email protected]

set smtp=smtps://smtp.qq.com:465

set [email protected]

set smtp-auth-password=xxxxxx

set smtp-auth=login

set ssl-verify=ignore

set nss-config-dir=/etc/pki/nssdb/

?

2.驗證能否成功的發送郵件

[[email protected] ~]# mkdir /server/scripts -p

[[email protected] ~]# cat /server/scripts/check_client_data.sh

#!/bin/bash

#1.定義變量

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

SRC=/backup

DATE=$(date +%F)

#1.使用md5進行校驗,並保存校驗的結果

md5sum -c $SRC/*_$DATE/flag_$DATE > $SRC/result_$DATE

#2.將保存的結果文件發送給管理員

mail -s "Rsync Backup $DATE" [email protected] <$SRC/result_$DATE

#3.保留最近180天的數據

find $SRC/ -type d -mtime +180|xargs rm -rf

rsync備份案例