一键部署rysnc实现全网备份-创新互联

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

创新互联专注于盐田企业网站建设,成都响应式网站建设,商城开发。盐田网站建设公司,为盐田等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

思路:

实现一键自动化安装好rysnc备份服务器,实现全网备份

rysnc配置文件,是在管理机上,推送到我们的rysnc服务器上的,所以我们可以随时可以在管理机修改我们的rysnc服务器上的配置文件

rysnc配置文件写两个模块 backup nfsbakcup 就是两个备份共享的目录

backup    共享目录是存放全网备份的数据

nfsbackup共享目录是备份我们nfs服器上的数据实现实时同步

客户端需要向rsync备份服务器推送数据,一天一次,写了两个脚本,一个是备份全网所有机器的系统配置文件,一个是备份web服务器上的程序文件脚本,

客户端备份程序脚本放在管理机上,管理机通过复制到客户机上,添加定时任务,每天晚上00点执行一次。

管理机上的目录规划:

剧本目录:/etc/ansible/playbook/

一键部署备份服务器剧本文件名: rsyncserver.yml

rsyncserver.yml 此剧本主要作用:实现rsync备份服务器搭建

脚本目录:server/script/

脚本文件名:sysconf-backup.sh打包备份系统主要文件,将备份的文件推送到备份服务器上

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

rsync服务的主配置文件:rsyncd.conf

mail.rc 邮件的配置文件,实现检查备份数据完整性本次以QQ邮箱为主

ansible实现一键搭建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:创建rsync服务的虚拟用户

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

   - name: 4:创建共享目录backup并且修改属组属主权限

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

   - name: 5:创建共享目录nfsbackup并且修改属组属主权限

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

   - name: 6:创建虚拟认证用户密码文件并且修改权限

     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 服务端配置完成

     shell: "echo rsync配置完成"

   - name: 邮箱配置文件,检查全网备份数据完整性发送到邮箱

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

1.1客户端备份系统配置文件到backup目录中,然后推送到备份服务器上剧本

次脚本主要是推送我们m01备份系统配置文件脚本到客户端服务器上,然后添加定时任务,实现每天晚上00点推送我们备份的系统配置文件到备份服务器

m01服务端的配置剧本

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

- hosts: client-sysconf-backup

 tasks:

   - name: 1:rsync客户端密码文件并且修改密码文件权限

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

   - name: 2:创建备份目录backup和脚本目录

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

   - name: 3:推送系统配置文件打包脚本

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

   - name: 4:每天晚上0点晚上打包备份文件,并且推送到备份服务器

     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客户端备份系统配置文件数据推送到备份服务器脚本

此脚本是系统配置文件备份脚本,可以实现所有机器,备份系统配置文件。

主要作用备份系统常用配置文件

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

将我们每天备份的系统配置文件和加密的md5文件每天00点发送到备份服务器上

删除本地7天以前的数据

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

#!/bin/bash

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

IPDIR="/backup/${IP}"

#创建打包备份目录

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服务剧本

m01剧本备份web程序

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

- hosts: client-website-backup

 tasks:

   - name: 1:rsync客户端密码文件并且修改密码文件权限

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

   - name: 2:创建备份目录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点晚上打包备份文件,并且推送到备份服务器

     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程序文件数据推送到备份服务器脚本

客户端备份目录是:web172.16.1.8推送到备份服务器也是这个目录

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

#!/bin/bash

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

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

#创建打包备份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备份服务器检查每天备份的数据完整性

系统的配置文件,和web服务器程序文件,并且每天发送邮件通知

[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 /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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:一键部署rysnc实现全网备份-创新互联
网站路径:http://azwzsj.com/article/jspjj.html