第一章 全网备份项目介绍说明
将全网架构中所有服务器上重要数据进行汇总备份保存!
自动化:数据信息的自动备份
规范化:避免备份数据出错
第二章 全网备份项目实施过程
1. 规划定义好备份服务器
部署rsync备份服务(采用rsync守护进程方式)
编写脚本文件管理备份数据信息
编写定时任务执行脚本管理数据
2. 确认验证好架构服务器
验证rsync备份服务
编写脚本文件统一备份数据信息
编写定时任务执行脚本备份数据
第三章 全网备份项目rsync守护进程模式部署
1. rsync服务端部署操作
2. rsync客户端验证操作
第四章 全网备份项目脚本编写
1. rsync客户端脚本编写需求
本地创建backup备份目录
将备份数据统一压缩进行保存,有软连接文件tar -h
推送备份目录数据到rsync备份服务器上
删除本地保存的7天以前的数据信息
对备份数据进行验证,加上指纹信息 md5sum -c 客户端传输过来的指纹文件
2. rsync服务端脚本编写需求
验证数据完整性
将完整性验证结果,通过邮件发送给监管人员 邮箱的配置 与 发送邮件的方式(两种方式发送邮件)
发送邮件方式,利用文件方式表示邮件内容
mail -s “check data” 835868899@qq.com </tmp/mail.txt
发送邮件,利用命令行方式表示邮件内容
# echo "系统有异常问题,请检查系统"|mail -s "异常告警" 13661086369@163.com
将180天的数据进行删除,保留每周一的数据
find /backup/ -type f -mtime +180 ! -name "*week01.tar.gz"|xargs rm -f
第五章 全网备份项目定时任务编写
rsync客户端编写定时任务
rsync服务端编写定时任务
第六章 全网备份项目部署步骤
1. 【服务端】确认rsync包是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
[root@backup ~]# rpm -qa |egrep rsyn* --color
rsyslog-5.8.10-10.el6_6.x86_64
rsync-3.0.6-12.el6.x86_64
2. 【服务端】配置rsync软件配置文件
cat >>/etc/rsyncd.conf <<END
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
END
配置多模块步骤:
01:修改rsyncd.conf配置文件信息,创建多模块配置参数
02:创建多模块指定的备份存储目录,并对备份存储目录进行授权
03:客户端指定新创建的模块,进行测试数据传输备份
3. 【服务端】创建rsync软件进程用户
useradd -s /sbin/nologin -M rsync
id rsync
4. 【服务端】创建rsync备份目录/授权rsync用户管理备份目录
[root@backup ~]# mkdir /backup -p
[root@backup ~]# ll -d /backup/
drwxr-xr-x 2 root root 4096 May 4 12:00 /backup/
[root@backup ~]# # 修改备份目录权限
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ll -d /backup/
drwxr-xr-x 2 rsync rsync 4096 May 4 12:00 /backup/
5. 【服务端】创建认证用户密码文件
[root@backup ~]# # 创建认证用户密码文件
[root@backup ~]# echo "rsync_backup:123456" >/etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:123456
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 20 May 4 12:04 /etc/rsync.password
6. 【服务端】启动rsync守护进程服务
rsync --daemon
7. 【服务端】Rsync开机自启动
**方法1利用/etc/rc.local 开机自启动文件**
[root@backup ~]# echo "rsync --daemon" >>/etc/rc.local
[root@backup ~]# tail -2 /etc/rc.local
# rsync boot info
rsync --daemon
**方法2编写脚本文件**
编写出脚本文件,可以利用rsync --daemon启动命令
将编写脚本文件,放置到/etc/init.d/ 目录下面
脚本内容信息要添加 # chkconfig: 2345 55 25
授予脚本执行权限
添加到chkconfig启动管理服务列表中
**方法3 xinetd自启动rsync服务 添加到chkconfig启动管理服务列表中
修改配置文件,让xinetd管理rsync服务**
[root@backup ~]# vim /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
8. 【客户端】确认rsync包是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
[root@backup ~]# rpm -qa |egrep rsyn* --color
rsyslog-5.8.10-10.el6_6.x86_64
rsync-3.0.6-12.el6.x86_64
9. 【客户端】创建rsync备份目录/backup
[root@nfs01 ~]# mkdir -p /backup
[root@nfs01 ~]# ll /backup/
total 0
10. 【客户端】创建rsync密码认证文件 执行非交互免密操作
[root@nfs01 ~]# echo "123456" >/etc/rsync.password
[root@nfs01 ~]# cat /etc/rsync.password
123456
[root@nfs01 backup]# chmod 600 /etc/rsync.password
[root@nfs01 backup]# ll /etc/rsync.password
-rw------- 1 root root 7 May 8 16:49 /etc/rsync.password
11. 【客户端】测试向服务端推送是否成功
[root@nfs01 backup]# rsync -avzP /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
./
1.txt
0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/2)
sent 75 bytes received 30 bytes 70.00 bytes/sec
total size is 0 speedup is 0.00
[root@backup backup]# ll
total 0
-rw-r--r-- 1 rsync rsync 0 May 8 16:51 1.txt
12. 【客户端】编写脚本打包备份文件、指纹验证文件、推送服务端、清理7天前的备份文件
[root@nfs01 scripts]# vim backup_nfs.sh
#!/bin/bash
. /etc/init.d/functions
host_Ip=$(hostname -I |awk '{print $2}')
date_Info=$(date +%F_week%w)
finger_Path=/backup/172.16.1.31/
#Create file directory
mkdir /var/html/www -p
mkdir /app/logs/ -p
action "NO.1: Create file directory" /bin/true
#tar file
cd / && mkdir -p /backup/$host_Ip
tar -zchf /backup/$host_Ip/sysfile_${date_Info}.tar.gz ./var/spool/cron/root ./etc/rc.local ./se
rver/scripts ./etc/sysconfig/iptables
action "NO.2: Tar sysfile_${date_Info}.tar.gz" /bin/true
tar -zchf /backup/$host_Ip/www_${date_Info}.tar.gz ./var/html/www
action "NO.3: Tar www_${date_Info}.tar.gz" /bin/true
tar -zchf /backup/$host_Ip/logs_${date_Info}.tar.gz ./app/logs/
action "NO.4: Tar logs_${date_Info}.tar.gz" /bin/true
#Create finger
find ${finger_Path} -type f -name "*.tar.gz" |xargs md5sum >/${finger_Path}/finger_${date_Info}.t
xt
action "NO.5: Create finger_${date_Info}.txt" /bin/true
# rsync push data to rsync_server
rsync -az /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
action "NO.6: rsync push to rsync_server" /bin/true
# clear data info for 7 day ago
find ${finger_Path} -type f -mtime +7 -name "*.tar.gz" |xargs rm -f
find ${finger_Path} -type f -mtime +7 -name "fin*" |xargs rm -f
action "NO.7: clear data info for 7 day ago" /bin/true
13. 【服务端】脚本验证和清理文件
[root@backup 172.16.1.31]# vim /server/scripts/backup_nfs.sh
#!/bin/bash
date_Info=$(date +%F_week%w)
#Certification finger
find /backup/172.16.1.31/ -type f -name "finger_${date_Info}*" |xargs md5sum -c >/tmp/mail.txt
mail -s "【NFS】服务器定期备份报告" guoqunchao@yeah.net </tmp/mail.txt
#clear file
find /backup/ -type f -mtime +180 -name "*week01.tar.gz" |xargs rm -f
14. 【客户端】加入定时任务
[root@nfs01 backup]# crontab -e
#rsync nfs file to rsync
00 00 * * * /bin/bash /server/scripts/backup_nfs.sh >/dev/null 2>&1
15. 【服务端】加入定时任务
[root@backup 172.16.1.31]# crontab -e
#backup_nfs file clear
00 06 * * * /bin/bash /server/scripts/backup_nfs.sh >/dev/null 2>&1
第七章 邮箱服务设置
1. 修改/etc/mail.rc最后一行加入
vim /etc/mail.rc
set from=guoqunchao@yeah.net smtp=smtp.yeah.net smtp-auth-user=guoqunchao smtp-auth-password=gqc1995 smtp-auth=login
from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码(授权码)
smtp-auth是邮件认证的方式
2. 邮件配置文件配置完毕后,重启邮件服务
/etc/init.d/postfix restart
Shutting down postfix [ ok ]
Start postfix [ ok ]