溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

rsync全網(wǎng)備份項(xiàng)目

發(fā)布時(shí)間:2020-06-11 20:30:58 來源:網(wǎng)絡(luò) 閱讀:191 作者:余溫Gg丶 欄目:系統(tǒng)運(yùn)維

系統(tǒng)版本: CentOS 7
內(nèi)核版本: 3.10.0-957

假設(shè)領(lǐng)導(dǎo)給你一個(gè)rsync全網(wǎng)備份項(xiàng)目

1、基本備份要求
已知3臺服務(wù)器主機(jī)名分別為web01、backup 、nfs01,主機(jī)信息見下表:

服務(wù)器說明 IP(NAT) 內(nèi)網(wǎng)IP(NAT_LAN) 主機(jī)名稱
nginx web服務(wù)器 10.0.0.7/24 172.16.1.7/24 web01
NFS存儲服務(wù)器 10.0.0.31/24 172.16.1.31/24 nfs01
rsync備份服務(wù)器 10.0.0.41/24 172.16.1.41/24 backup

? 要求:每天晚上00點(diǎn)整在Web服務(wù)器上打包備份系統(tǒng)配置文件、網(wǎng)站程序目錄及訪問日志并通過rsync命令推送備份服務(wù)器backup上備份保留。

  • 思考分析該項(xiàng)目的作用
  • 做一個(gè)簡短的實(shí)施方案
  • 跟領(lǐng)導(dǎo)對接核實(shí)方案
  • 和需要對接的部門開會溝通

實(shí)施方案流程

  • 創(chuàng)建服務(wù)器的備份目錄 ==/backup==
  • 要備份的系統(tǒng)配置文件

    • 定時(shí)任務(wù)的配置文件 ==(/var/spool/cron/root)==
    • 開機(jī)自啟動配置文件 ==(/etc/rc.local)==
    • 防火墻iptables配置文件 ==(/etc/sysconfig/iptables)==
    • 日常腳本的目錄 ==(/server/scripts)==
    • web服務(wù)器站點(diǎn)目錄 ==(/var/html/www)==
    • web服務(wù)器訪問日志 ==(/app/logs)==
  • 非備份服務(wù)器保留打包后的7天內(nèi)數(shù)據(jù)
  • 備份服務(wù)器保留周 1 及180以內(nèi)的數(shù)據(jù)
  • 確保備份數(shù)據(jù)盡量完整正確,在本機(jī)創(chuàng)建校驗(yàn)包,服務(wù)器上校驗(yàn)數(shù)據(jù)完整性.
  • 把備份數(shù)據(jù)結(jié)果通過==email==發(fā)送給系統(tǒng)管理員郵箱中
配置服務(wù)端
第一步:查看rsync服務(wù)
    查看rsync服務(wù)有沒有安裝 rpm -qa rsync
    沒有rsync服務(wù)就安裝一下 yum install -y rsync
    創(chuàng)建備份目錄           mkdir /backup
第二部:編輯服務(wù)配置文件
uid = rsync                     # 虛擬用戶 --安全性
gid = rsync
port = 873                      # 端口號
fake super                      # 偽裝超級用戶 -- 管理員
use chroot = no                 # 安全有關(guān)參數(shù)
max connections = 200           # 最大連接數(shù)量
timeout = 300                   # 等待用戶時(shí)間
pid file = /var/run/rsyncd.pid  # 服務(wù)運(yùn)行狀態(tài)的進(jìn)程號
lock file = /var/run/rsync.lock # 結(jié)合 max connections 控制最大鏈接數(shù)
log file = /var/log/rsyncd.log  # 服務(wù)運(yùn)行日志信息
ignore errors                   # 忽略簡單錯(cuò)誤信息,保證傳輸效率
read only = false               # 指定備份目錄是否是只讀權(quán)限
list = false                    # 是否開啟列表顯示模塊信息
hosts allow = 172.16.1.0/24     # 白名單信息
hosts deny = 0.0.0.0/32         # 黑名單信息
auth users = rsync_backup       # 認(rèn)證用戶名稱
secrets file = /etc/rsync.password  # 認(rèn)證用戶密碼文件
[backup]                        # 模塊信息 (標(biāo)識一個(gè)目錄)
comment = "welcome to backup"   # 模塊注釋說明
path = /backup                  # 模塊指向目錄所在
第三部:根據(jù)配置文件需求創(chuàng)建所需
1.  useradd -M -s /sbin/nologin rsync   # 創(chuàng)建虛擬用戶
2.  echo "rsync_backup:oldboy123" >/etc/rsync.password  #創(chuàng)建認(rèn)證用戶密碼
3.  chmod 600 /etc/rsync.password       # 密碼文件設(shè)置安全權(quán)限 ★
4.  mkdir /backup                       # 創(chuàng)建備份數(shù)據(jù)目錄
5.  chown rsync.rsync /backup/          # 修改文件屬主屬組為配置文件指定用戶
6.  systemctl start rsyncd              # 啟動服務(wù)程序
7.  systemctl enable rsyncd             # 設(shè)置服務(wù)程序開機(jī)自動啟動  
第四步: 配置郵件服務(wù)
1.  yum install -y mailx
2.  vim /etc/mail.rc    # 添加下面的內(nèi)容.隨便位置
set from=QQ號碼@qq.com    # 郵箱隨意.以QQ為例
set smtp=smtp.qq.com
set smtp-auth-user=QQ號碼@qq.com
set smtp-auth-password=QQ設(shè)置里的第三方授權(quán)碼
set smtp-auth=login
3.  systemctl restart postfix.service   # 重啟郵件服務(wù)
4.  echo "hello" | mailx -s "test"  qq號@qq.com  
配置客戶端
第一步: 進(jìn)行備份數(shù)據(jù)測試
rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup
第二部: 實(shí)現(xiàn)免交互備份數(shù)據(jù)
echo oldboy123 >/etc/rsync.password     # 創(chuàng)建認(rèn)證用戶密碼文件
chmod 600 /etc/rsync.password           # 為密碼文件設(shè)置一個(gè)安全權(quán)限
rsync -avz /oldboy/  rsync_backup@172.16.1.41::backup  --password-file=/etc/rsync.password              # 實(shí)現(xiàn)免交互傳輸

rsync全網(wǎng)備份項(xiàng)目

編寫腳本

web網(wǎng)站服務(wù)器

web客戶端腳本編寫:
mkdir -p /server/scripts    mkdir /etc/sysconfig/iptables
mkdir -p /var/html/www      mkdir /app/logs         # 環(huán)境準(zhǔn)備
cd /server/scripts
vim web_backup.sh
#!/bin/bash
ip=$(hostname -i)
name=$(hostname)
date=$(date +%F_%w -d "-1 day")
mkdir -p /backup/$ip
# 打包配置文件
tar zcnPf /backup/$ip/${name}_config_${date}.tar.gz /var/spool/cron/root /etc/rc.local /server/scripts &>/dev/null
# 打包站點(diǎn)目錄
tar zcnPf /backup/$ip/${name}_www_${date}.tar.gz /var/html/www &>/dev/null
# 打包網(wǎng)站訪問日志
tar zcnPf /backup/$ip/${name}_log_${date}.tar.gz /app/logs &>/dev/null
# 創(chuàng)建數(shù)據(jù)檢驗(yàn)信息
md5sum $(find /backup/$ip -type f -mmin -15) >/backup/md5_${name}.log
# 上傳數(shù)據(jù)到備份服務(wù)器
rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
# 刪除本體超過7天的數(shù)據(jù)包
find /backup -type f -mtime +7 -delete &> /dev/null

chmod 700 /server/scripts/web_backup.sh

crontab -e      # 加入定時(shí)任務(wù)里
0 0 * * * /bin/bash /server/scripts/web_backup.sh

nfs存儲服務(wù)器

nfs客戶單腳本編寫:
mkdir -p /server/scripts    mkdir /etc/sysconfig/iptables
cd /server/scripts
vim nfs_backup.sh
#!/bin/bash
ip=$(hostname -i)
name=$(hostname)
date=$(date +%F_%w -d "-1 day")
mkdir -p /backup/$ip
# 打包配置文件
tar zcnPf /backup/$ip/${name}_config_${date}.tar.gz /var/spool/cron/root /etc/rc.local /server/scripts &>/dev/null
# 創(chuàng)建數(shù)據(jù)檢驗(yàn)信息
md5sum $(find /backup/$ip -type f -mmin -15) >/backup/md5_${name}.log
# 上傳數(shù)據(jù)到備份服務(wù)器
rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
# 刪除本體超過7天的數(shù)據(jù)包
find /backup -type f -mtime +7 -delete &> /dev/null

chmod 700 /server/scripts/nfs_backup.sh

crontab -e      # 加入定時(shí)任務(wù)里
0 0 * * * /bin/bash /server/scripts/nfs_backup.sh

backup備份服務(wù)器

backup服務(wù)端腳本編寫
mkdir -p /server/scripts
vim /server/scripts/delete.sh
#!/bin/bash
date=$(date +%F)
mkdir -p /backup
# 校驗(yàn)數(shù)據(jù)完整性
md5sum $(find /backup -type f -name "*.log") -c >/tmp/check_md5.txt
# 郵件告知管理員
mailx -s "$date 校驗(yàn)信息" qq號@qq.com </tmp/check_md5.txt
# 刪除180天前數(shù)據(jù),保留周一數(shù)據(jù)
find /backup -type f -mtime +180 ! -name "*_1.tar.gz" -delete

chmod 700 /server/scripts/delete.sh

crontab -e      # 加入定時(shí)任務(wù)里
0 5 * * * /bin/bash /server/scripts/delete.sh
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI