需要的工具:ansible 批量管理工具
創(chuàng)新互聯(lián)建站專注于寧蒗企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),購(gòu)物商城網(wǎng)站建設(shè)。寧蒗網(wǎng)站建設(shè)公司,為寧蒗等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
思路:
實(shí)現(xiàn)一鍵自動(dòng)化安裝好rysnc備份服務(wù)器,實(shí)現(xiàn)全網(wǎng)備份
rysnc配置文件,是在管理機(jī)上,推送到我們的rysnc服務(wù)器上的,所以我們可以隨時(shí)可以在管理機(jī)修改我們的rysnc服務(wù)器上的配置文件
rysnc配置文件寫兩個(gè)模塊 backup nfsbakcup 就是兩個(gè)備份共享的目錄
backup 共享目錄是存放全網(wǎng)備份的數(shù)據(jù)
nfsbackup共享目錄是備份我們nfs服器上的數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)同步
客戶端需要向rsync備份服務(wù)器推送數(shù)據(jù),一天一次,寫了兩個(gè)腳本,一個(gè)是備份全網(wǎng)所有機(jī)器的系統(tǒng)配置文件,一個(gè)是備份web服務(wù)器上的程序文件腳本,
客戶端備份程序腳本放在管理機(jī)上,管理機(jī)通過復(fù)制到客戶機(jī)上,添加定時(shí)任務(wù),每天晚上00點(diǎn)執(zhí)行一次。
管理機(jī)上的目錄規(guī)劃:
劇本目錄:/etc/ansible/playbook/
一鍵部署備份服務(wù)器劇本文件名: rsyncserver.yml
rsyncserver.yml 此劇本主要作用:實(shí)現(xiàn)rsync備份服務(wù)器搭建
腳本目錄:server/script/
腳本文件名:sysconf-backup.sh打包備份系統(tǒng)主要文件,將備份的文件推送到備份服務(wù)器上
配置文件目錄:/server/configfile/
rsync服務(wù)的主配置文件:rsyncd.conf
mail.rc 郵件的配置文件,實(shí)現(xiàn)檢查備份數(shù)據(jù)完整性本次以QQ郵箱為主
ansible實(shí)現(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:啟動(dòng)rsync
shell: "rsync--daemon"
- name: 8:加入到開機(jī)自啟動(dòng)中
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"
次腳本主要是推送我們m01備份系統(tǒng)配置文件腳本到客戶端服務(wù)器上,然后添加定時(shí)任務(wù),實(shí)現(xiàn)每天晚上00點(diǎn)推送我們備份的系統(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點(diǎn)晚上打包備份文件,并且推送到備份服務(wù)器
cron: "name='Everyday 00 backup sysconfig to rsync by Kaile' minute=00 hour=
00 job='/bin/sh /server/script/sysconf-backup.sh'"
此腳本是系統(tǒng)配置文件備份腳本,可以實(shí)現(xiàn)所有機(jī)器,備份系統(tǒng)配置文件。
主要作用備份系統(tǒng)常用配置文件
利用md5加密備份的配置文件
將我們每天備份的系統(tǒng)配置文件和加密的md5文件每天00點(diǎn)發(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)
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點(diǎn)晚上打包備份文件,并且推送到備份服務(wù)器
cron: "name='Everyday 00 backup website to rsync by Kaile' minute=00 hour=00 job='/bin/sh/server/script/website-backup.sh'"
客戶端備份目錄是:web172.16.1.8推送到備份服務(wù)器也是這個(gè)目錄
[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)
系統(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")
#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
分享文章:一鍵部署rysnc實(shí)現(xiàn)全網(wǎng)備份
文章地址:http://muchs.cn/article38/jpdpsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、App設(shè)計(jì)、網(wǎng)站排名、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)