溫馨提示×

溫馨提示×

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

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

一鍵部署rysnc實現(xiàn)全網(wǎng)備份

發(fā)布時間:2020-06-29 19:53:44 來源:網(wǎng)絡(luò) 閱讀:1042 作者:啊凱linux 欄目:建站服務(wù)器

需要的工具:ansible 批量管理工具

思路:

實現(xiàn)一鍵自動化安裝好rysnc備份服務(wù)器,實現(xiàn)全網(wǎng)備份

rysnc配置文件,是在管理機上,推送到我們的rysnc服務(wù)器上的,所以我們可以隨時可以在管理機修改我們的rysnc服務(wù)器上的配置文件

rysnc配置文件寫兩個模塊 backup nfsbakcup 就是兩個備份共享的目錄

backup    共享目錄是存放全網(wǎng)備份的數(shù)據(jù)

nfsbackup共享目錄是備份我們nfs服器上的數(shù)據(jù)實現(xiàn)實時同步

客戶端需要向rsync備份服務(wù)器推送數(shù)據(jù),一天一次,寫了兩個腳本,一個是備份全網(wǎng)所有機器的系統(tǒng)配置文件,一個是備份web服務(wù)器上的程序文件腳本,

客戶端備份程序腳本放在管理機上,管理機通過復(fù)制到客戶機上,添加定時任務(wù),每天晚上00點執(zhí)行一次。


管理機上的目錄規(guī)劃:

劇本目錄:/etc/ansible/playbook/ 

一鍵部署備份服務(wù)器劇本文件名:  rsyncserver.yml

rsyncserver.yml 此劇本主要作用:實現(xiàn)rsync備份服務(wù)器搭建 

腳本目錄:server/script/ 

腳本文件名:sysconf-backup.sh打包備份系統(tǒng)主要文件,將備份的文件推送到備份服務(wù)器上

 配置文件目錄:/server/configfile/

rsync服務(wù)的主配置文件:rsyncd.conf

mail.rc 郵件的配置文件,實現(xiàn)檢查備份數(shù)據(jù)完整性本次以QQ郵箱為主



ansible實現(xiàn)一鍵搭建rsync

[root@m01 playbook]# vim rsyncserver.yml

- hosts: rsyncserver

  tasks:

    - name: 1:安裝 rysnc

      yum: "name=rsyncstate=installed"

    - name: 2:rsync配置文件

      copy:"src='/server/configfile/rsyncd.conf' dest='/etc'"

    - name: 3:創(chuàng)建rsync服務(wù)的虛擬用戶

      user: "name='rsync'shell=/sbin/nologin createhome=no"

    - name: 4:創(chuàng)建共享目錄backup并且修改屬組屬主權(quán)限

      file: "path=/backupstate=directory owner=rsync group=rsync"

    - name: 5:創(chuàng)建共享目錄nfsbackup并且修改屬組屬主權(quán)限

      file:"path=/nfsbackup state=directory owner=rsync group=rsync"

    - name: 6:創(chuàng)建虛擬認(rèn)證用戶密碼文件并且修改權(quán)限

      shell: "echorsync_backup:123456 >/etc/rsync.password && chmod 600/etc/rsync.password "

    - name: 7:啟動rsync

      shell: "rsync--daemon"

    - name: 8:加入到開機自啟動中

      shell: "[ `egrep'rsync --daemon' /etc/rc.local |wc -l` -eq 1 ] || echo -e '#rsync start\\nrsync--daemon' >> /etc/rc.local  "

    - name: 9:rsync 服務(wù)端配置完成

      shell: "echo rsync配置完成"

    - name: 郵箱配置文件,檢查全網(wǎng)備份數(shù)據(jù)完整性發(fā)送到郵箱

      copy:"src=/server/configfile/mail.rc dest=/etc"

1.1客戶端備份系統(tǒng)配置文件到backup目錄中,然后推送到備份服務(wù)器上劇本

次腳本主要是推送我們m01備份系統(tǒng)配置文件腳本到客戶端服務(wù)器上,然后添加定時任務(wù),實現(xiàn)每天晚上00點推送我們備份的系統(tǒng)配置文件到備份服務(wù)器

m01服務(wù)端的配置劇本

[root@m01 playbook]# vim rsync-client-sysconf-backup.yml

- hosts: client-sysconf-backup

  tasks:

    - name: 1:rsync客戶端密碼文件并且修改密碼文件權(quán)限

      shell: "echo'123456'> /etc/rsync.password && chmod 600 /etc/rsync.password"

    - name: 2:創(chuàng)建備份目錄backup和腳本目錄

      shell: "mkdir -p/backup && mkdir -p /server/script"

    - name: 3:推送系統(tǒng)配置文件打包腳本

      copy:"src=/server/script/sysconf-backup.sh dest=/server/script/"

    - name: 4:每天晚上0點晚上打包備份文件,并且推送到備份服務(wù)器

      cron: "name='Everyday 00 backup sysconfig to rsync by Kaile' minute=00 hour=

00 job='/bin/sh /server/script/sysconf-backup.sh'"

1.1.1客戶端備份系統(tǒng)配置文件數(shù)據(jù)推送到備份服務(wù)器腳本

此腳本是系統(tǒng)配置文件備份腳本,可以實現(xiàn)所有機器,備份系統(tǒng)配置文件。

主要作用備份系統(tǒng)常用配置文件

利用md5加密備份的配置文件

將我們每天備份的系統(tǒng)配置文件和加密的md5文件每天00點發(fā)送到備份服務(wù)器上

刪除本地7天以前的數(shù)據(jù)

[root@m01 script]# vim sysconf-backup.sh

#!/bin/bash

IP=`hostname  -I |cut -d" " -f2`

IPDIR="/backup/${IP}"

#創(chuàng)建打包備份目錄

mkdir -p $IPDIR

#backup sysconfig

cd / && tar -czPhf $IPDIR/sysconfig_$(date+%F-week0%w).tar.gz ./var/spool/cron/root

 ./etc/rc.local./server/scripts ./etc/sysconfig/iptables >/dev/null 2>&1

 

#check backup sysconfig

find $IPDIR/ -type f -name "*$(date +%F-week0%w).tar.gz" |xargs md5sum > ${IPDIR}/md

5sum_$(date +%F-week0%w).txt

 

#Push推送 sysconfig to rsync backup server

rsync -az /backup/$IP rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.pa

ssword

 

#delete +7 day  backup  data

rm -rf $(find $IPDIR  -type f -mtime +7)

 

1.2客戶端備份website服務(wù)劇本

m01劇本備份web程序

[root@m01 playbook]# vim rsync-client-website-backup.yml

- hosts: client-website-backup

  tasks:

    - name: 1:rsync客戶端密碼文件并且修改密碼文件權(quán)限

      shell: "echo'123456'> /etc/rsync.password && chmod 600 /etc/rsync.password"

    - name: 2:創(chuàng)建備份目錄backup和腳本目錄

      shell: "mkdir -p/backup && mkdir -p /server/script"

    - name: 3:推送website程序文件打包腳本

      copy:"src=/server/script/website-backup.sh dest=/server/script/"

    - name: 4:每天晚上0點晚上打包備份文件,并且推送到備份服務(wù)器

      cron: "name='Everyday 00 backup website to rsync by Kaile' minute=00 hour=00 job='/bin/sh/server/script/website-backup.sh'"

1.2.1客戶端備份website程序文件數(shù)據(jù)推送到備份服務(wù)器腳本

客戶端備份目錄是:web172.16.1.8推送到備份服務(wù)器也是這個目錄

[root@web01 script]$vim website-backup.sh

#!/bin/bash

IP=`hostname -I |cut -d " " -f2`

IPDIR="/backup/web${IP}"

#創(chuàng)建打包備份website目錄

mkdir -p $IPDIR

#backup website data

 cd /&& tar -czPhf $IPDIR/nginx_$(date +%F-week0%w).tar.gz/application/nginx/html/

#backup website log

 cd /&& tar -czPhf $IPDIR/web_log_$(date +%F-week0%w).tar.gz/application/nginx/logs/

#check backup website

find $IPDIR/ -type f -name "*$(date+%F-week0%w).tar.gz" | xargs md5sum > ${IPDIR}/md5sum_$(date+%F-week0%w).txt

 

#Push推送 website  to rsync backupserver

rsync -az $IPDIR rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

 

#delete +7 day backup  data

rm -rf $(find $IPDIR  -type f -mtime +7)

 

 

1.3備份服務(wù)器檢查每天備份的數(shù)據(jù)完整性

系統(tǒng)的配置文件,和web服務(wù)器程序文件,并且每天發(fā)送郵件通知

[root@backup script]# vim check-sysconfig-backup.sh

#!/bin/bash

 

#check sysconfig website data

find /backup/ -type f  -name"*$(date +%F-week0%w).txt"| xargs md5sum -c >/tmp/md5-$(date+%F-week0%w).txt

 

#郵件通知

mail -s "backup date " 10206334@qq.com  </tmp/md5-$(date +%F-week0%w).txt>/dev/null 2>&1

#delete +180 day  01

rm -rf $(find /backup/ -type f -mtime +180  ! -name "*$(date+%F-week01).tar.gz")

 

 

1.4QQ郵箱配置文件

#mail  config

set bsdcompat

set from=10206334@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=10206334@qq.com

set smtp-auth-password=odigxgzaschvbijd

set smtp-auth=login

set smtp-use-starttls

set ssl-verify=ignore

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

 

 


向AI問一下細(xì)節(jié)

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

AI