第1章 项目准备工作
1.1 基本备份要求
已知3台服务器主机名分别为:web01,backup,nfs01,主机信息如下表:
服务器说明
外网IP
内网IP
主机名
Nginx web服务器
10.0.0.8/24
172.16.1.8/24
web01
NFS存储服务器
10.0.0.31/24
172.16.1.31/24
nfs01
rsync备份服务器
10.0.0.41/24
172.16.1.41/24
backup
需求:每天晚上0点整在web服务器上打包备份系统配置文件,网站程序目录及访问日志通过rsync命令推送备份服务器backup上备份保留。
 
具体要求如下:
1)web服务器和备份服务器的备份目录都必须为/backup
2)要备份的系统配置文件包括但不限余:
   a.定时任务服务的配置文件(/var/spool/cron/root)
   b.开机自启动的配置文件(/etc/rc.local)
   c.日常脚本的目录(/server/scripts)
   d.防火墙iptables的配置文件(/etc/sysconfig/iptables)
3)web服务器站点目录为(/var/html/www)
4)Web服务器A访问日志的路径为(/app/logs)
5)Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满)
6)备份服务器上,保留最近7天的备份数据,同时保留6个月内每周一的所有数据。
7)备份服务器上要安装备份数据服务器的内网IP为目录保存备份,备份的文件安装时间名字保存。
8)需要确保备份的数据尽量完整争取,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员的邮箱中。
 
1.2 简单逻辑图

1.3 解题思路
1)搭建backup服务器。
   a.搭建rsync服务
2)搭建web服务器。
   1.验证rsync服务能否推送成功。
   2.开发脚本,实现打包,备份,推送,校验,删除。
   3.配置定时任务定时推送,每天0点定时推送。
3)搭建backup服务器。
1.实现校验,删除,报警。
2.配置定时任务每天6点定时执行。
4)搭建nfs服务器。
   1.验证rsync服务能否推送成功。
   2.开发脚本,实现打包,备份,推送,校验,删除。
   3.配置定时任务定时推送,每天0点定时推送。
 
第2章 项目实施
2.1 搭建backup服务器。
2.1.1 rsync的默认配置文件是/etc/rsyncd.conf,配置文件默认是空的,需要自己编辑
[root@backup ~]# cat /etc/rsyncd.conf 
#rsync_config_____________________________start 
#created by linuxidc 15:01 2007-6-5 
##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/rsyncd.lock      
log file = /var/log/rsyncd.log 
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        
[backup]      
path = /backup      
[nfsbackup] 
path = /nfsbackup
[luo] 
path = /luo
ignore errors 
read only = false
list = false
hosts allow = 172.16.1.0/24
#hosts deny = 0.0.0.0/32 
auth users = tang 
secrets file = /etc/tang
#rsync_config________________________end
2.1.2 添加用户rsync
[root@backup ~]# useradd rsync -s /sbin/nologin -M 
[root@backup ~]# cat /etc/passwd|grep rsync 
rsync:x:501:501::/home/rsync:/sbin/nologin
为什么用虚拟用户?
应答:文件和进程都要满足属主的要求,文件和进程的存在一定是需要用户的,也是为了安全问题。
2.1.3 根目录下添加backup目录
[root@backup ~]# mkdir -p /backup/ 
[root@backup ~]# chown -R rsync.rsync /backup/ 
[root@backup ~]# ls -ld /backup/ 
drwxr-xr-x 3 rsync rsync 20480 1月  18 09:51 /backup/

