02下 Rsync備份案例
阿新 • • 發佈:2021-10-23
Rsync備份案例:
客戶端需求:
1.客戶端提前準備存放的備份的目錄,目錄規則如下:/backup/nfs_172.16.1.31_2018-09-02
2.客戶端在本地打包備份(將etc目錄中所有的普通檔案打包)拷貝至/backup/nfs_172.16.1.31_2018-09-02
3.客戶端最後將備份的資料進行推送至備份伺服器
4.客戶端每天凌晨1點定時執行該指令碼
5.客戶端伺服器本地保留最近7天的資料, 避免浪費磁碟空間
服務端需求:
1.服務端部署rsync,用於接收客戶端推送過來的備份資料
2.服務端需要每天校驗客戶端推送過來的資料是否完整?md5sum
3.服務端需要每天校驗的結果通知給管理員
4.服務端僅保留6個月的備份資料,其餘的全部刪除
1 準備伺服器
主機 | ip | 身份 |
---|---|---|
rsync | 192.168.15.41 | 服務端 |
nfs | 192.168.15.31 | 客戶端 |
2 客戶端
1.客戶端提前準備存放的備份的目錄,
目錄規則如下:/backup/nfs_172.16.1.31_2018-09-02
mkdir /backup
#反引號`date +%F`
mkdir /backup/nfs_172.16.1.31_`date +%F`
2.客戶端在本地打包備份(將etc目錄中所有的普通檔案打包)拷貝至/backup/nfs_172.16.1.31_2018-09-02
tar -czPf /backup/nfs_172.16.1.31_`date +%F`/etc.tar.gz $(find /etc/ -type f) cd /backup/nfs_172.16.1.31_`date +%F` md5sum etc.tar.gz > md5sum.txt
3.客戶端最後將備份的資料進行推送至備份伺服器
rsync -avzP /backup/ [email protected]::backup --password-file=/etc/rsync.passwd
4.客戶端伺服器本地保留最近7天的資料, 避免浪費磁碟空間
find /backup/ -ctime +7 -name "nfs*" -exec rm -rf {} \;
5 編寫指令碼
vi /root/rsync.sh
寫入下面內容:
mkdir /backup mkdir /backup/nfs_172.16.1.31_`date +%F` tar -czPf /backup/nfs_172.16.1.31_`date +%F`/etc.tar.gz $(find /etc/ -type f) cd /backup/nfs_172.16.1.31_`date +%F` md5sum etc.tar.gz > md5sum.txt rsync -avzP /backup/ [email protected]::backup --password-file=/etc/rsync.passwd find /backup/ -ctime +7 -name "nfs*" -exec rm -rf {} \;
新增許可權:
chmod +x rsync.sh
6.客戶端每天凌晨1點定時執行該指令碼
0 1 * * * /root/rsync.sh
3 服務端
1.服務端部署rsync,用於接收客戶端推送過來的備份資料
systemctl start rsyncd
2.服務端需要每天校驗客戶端推送過來的資料是否完整?md5sum
cd /backup/nfs_172.16.1.31_`date +%F`/
md5sum -c md5sum.txt
3.服務端需要每天校驗的結果通知給管理員
if [ $? -eq 0 ];then
echo "驗證成功" | mail -s "驗結果" 163郵箱
else
echo "驗證失敗" | mail -s "驗證結果" [email protected]
fi
使用163郵箱
#1.服務端配置郵件功能
[root@rsync~]# yum install mailx -y
[root@rsync~]# vim /etc/mail.rc
set from=寫自己的163郵箱
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=寫自己的163郵箱
set smtp-auth-password=JMEHJRULSYTSRLJH #授權密碼管理的密碼
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
#2.測試傳送郵件
[root@rsync ~]# echo "驗證成功" | mail -s "驗證結果" 163郵箱
看起來已經成功了,但是傳送完郵件還有報錯:證書不被信任,且命令列就此卡住,需要按鍵才能出現命令提示符
自行百度解決。。。
4.服務端僅保留6個月的備份資料,其餘的全部刪除
find /backup/ -ctime +180 -name "nfs*" -exec rm -rf {} \;
5 編寫指令碼
vi /root/rsync-server.sh
cd /backup/nfs_172.16.1.31_`date +%F`/
md5sum -c md5sum.txt
if [ $? -eq 0 ];then
echo "驗證成功" | mail -s "驗證結果" 163郵箱
else
echo "驗證失敗" | mail -s "驗證結果" 163郵箱
fi
增加許可權
chmod +x /root/rsync-server.sh
6 測試
/root/rsync-server.sh
知識儲備:
md5sum重要的選項: