全网备份案例

第1章 企业案例

rsync上机实战考试题:

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。要求如下:

每天晚上00点整在Web服务器A(web01 )上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留

(备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上)。

具体要求如下:

1)Web服务器A和备份服务器B的备份目录必须都为/backup。

2)Web服务器站点目录假定为(/var/www/html)。

3)Web服务器本地仅保留7天内的备份。

4)备份服务器上每周六的数据都保留,其他备份仅保留180天备份。

5)备份服务器上检查备份结果是否正常,并将每天的备份结果发给管理员信箱。

第2章 项目准备工作

2.1 准备好三台主机


服务器说明


外网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上备份保留。

2.2 开始部署backup服务器

2.2.1 确认是否安装软件

[[email protected] ~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

2.2.2 配置rsyncd.conf文件

. [[email protected] ~]# cat /etc/rsyncd.conf

######rsync_config_______________start

#created by oldboy 15:01 2007-6-5

#QQ 31333741 blog:http://oldboy.blog.51cto.com

##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

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

#rsync_config_______________end

2.2.3 创建rsync账户及共享目录并修改目录属主为rsync

[[email protected] ~]# useradd -M -s
/sbin/nologin rsync

[[email protected] ~]# mkdir /backup

[[email protected] ~]# chown -R rsync /backup

2.2.4 启动rsync --daemon服务

[[email protected] ~]# rsync --daemon

[[email protected] ~]# ss -antup | grep rsync

tcp   
LISTEN     0      5                     :::873                  :::*      users:(("rsync",1851,5))

tcp   
LISTEN     0      5                      *:873                   *:*      users:(("rsync",1851,4))

2.2.5 服务器端测试

[[email protected] ~]# ps -ef|grep rsync|grep -v grep

root      23049      1 
0 Jan15 ?        00:00:00 rsync
--daemon

[email protected] ~]# lsof -i:rsync

COMMAND   PID
USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

rsync   23049
root    3u  IPv4 
56971      0t0  TCP *:rsync (LISTEN)

rsync   23049
root    5u  IPv6 
56972      0t0  TCP *:rsync (LISTEN)

[[email protected] ~]# netstat -lntup|grep rsync

tcp       
0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      23049/rsync

tcp       
0      0 :::873                      :::*                        LISTEN      23049/rsync

[[email protected] ~]# telnet 172.16.1.41 873

Trying 172.16.1.41...

Connected to 172.16.1.41.

Escape character is ‘^]‘.

@RSYNCD: 30.0

证明服务器端配置没有问题

2.3 部署web服务器

2.3.1 客户端配置

[[email protected] ~]# cat /etc/rsync.password

123456

[[email protected] ~]# ls -ld /etc/rsync.password

-rw------- 1 root root 7 Mar 14 19:25
/etc/rsync.password

2.3.2 客户端推送

[[email protected] backup]# rsync -avz /backup/  [email protected]::backup/
--password-file=/etc/rsync.password

sending incremental file list

./

1

2

3

4

说明客户端推送成功

2.3.3 web服务器端部署

#!/bin/bash

##############################################################

# File Name: bak1.sh

# Version: V1.0

# Author: xinlibao

# Organization: www.oldboyedu.com

# Created Time : 2017-03-15 22:23:50

# Description:

##############################################################

IP=$(hostname -I|awk -F "[ :]+" ‘{print
$2}‘)

mkdir -p /backup/$IP /var/html/www/
/spool/cron/root/ /app/logs/

cd / &&\:

#compress

tar zcfh
/backup/$IP/sys_config_$(date -d "1 day ago"
+"%Y-%m-%d").tar.gz var/spool/cron/ etc/rc.local server/scripts
&&\

tar zcfh
/backup/$IP/webdata_$(date -d "1 day ago"
+"%Y-%m-%d").tar.gz var/html/www/ &&\

tar zcfh
/backup/$IP/access_log_$(date -d "1 day ago"
+"%Y-%m-%d").tar.gz app/logs &&\

#check finger

find
/backup -type f -name "*.tar.gz"|xargs md5sum >/backup/$IP/flag_$(date
-d "1 day ago" +"%Y-%m-%d").txt

#push info

rsync -az /backup/
[email protected]::backup/ --password-file=/etc/rsync.password

#del data 7 days ago

find /backup -type f -mtime +7 ! -name
"*week01.tar.gz"|xargs rm -f

2.3.4 nfs客户端部署

#!/bin/bash

##############################################################

# File Name: bak.sh

# Version: V1.0

# Author: xinlibao

# Organization: www.oldboyedu.com

# Created Time : 2017-03-15 22:45:08

# Description:

#############################################################

IP=$(hostname -I|awk -F "[ :]+" ‘{print
$2}‘)

mkdir -p /backup/$IP /var/html/wwww/
/spool/cron/root/ /app/logs/

cd / &&\

#compress

tar zcfh
/backup/$IP/sys_config_$(date -d "1 day ago"
+"%Y-%m-%d").tar.gz var/spool/cron/root etc/rc.local server/scripts
&&\

#check finger

find
/backup -type f -name "*.tar.gz"|xargs md5sum
>/backup/$IP/flag_$(date -d "1 day ago" +"%Y-%m-%d").txt

#push info

rsync -az /backup/
[email protected]::backup/ --password-file=/etc/rsync.password

#del data 7 days ago

find /backup -type f -mtime +7 ! -name
"*week01.tar.gz"|xargs rm -f

2.3.5 backup服务端部署

#!/bin/bash

##############################################################

# File Name: mail.sh

# Version: V1.0

# Author: xinlibao

# Organization: www.oldboyedu.com

# Created Time : 2017-03-14 11:24:56

# Description:

##############################################################

#check data info

find /backup/*[0-9]*/ -type f -name
"*.txt"|xargs md5sum -c>/tmp/mail.txt

mail -s "hello" [email protected]
</tmp/mail.txt

#del data 180 days ago

find /backup -type f -mtime +180 ! -name
"*week01.tar.gz"|xargs rm -f

2.4 定时任务推送每天00点

[[email protected] backup]# crontab -l

00 00 * * * /bin/sh /server/scripts/bak1.sh
>/dev/null 2>&1

时间: 2024-12-19 05:01:30

全网备份案例的相关文章

rsync实现全网备份案例

全网备份案例 某公司里有一台web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份. 要求:每天晚上12点整在web服务器A(web01)上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留(备份思路可以是先在本地按日期打包,再利用rsync推到备份服务器上)具体要求:1)web服务器A和备份服务器B的备份目录必须都为/backup2)web服务器A和站点目录假定为(/var/www/html)3)web

项目-第六次全网备份上机考试

全网备份案例 备份全网服务器数据生产架构方案案例模型 企业案例:rsync上机实战考试题: 某公司里有二台Web服务器为web01和web02,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份.要求如下: 每天晚上00点整在Web服务器web01和web02上打包备份网站程序目录并通过rsync命令推送到服务器B上备份保留 (备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上). 具体要求如下: 1)Web服务器web01

全网备份项目解决方案实例

大规模集群全网备份案例 项目要求:1.需要备份的文件或目录有(原则上,只要是运维人员写入或更改的数据,都需要备份):/var/spool/cron/root /etc./rc.local /etc/sysconfig/iptables /var/www/html /app/logs2.为了规范化,每台web服务器进行本地备份时都本分到/backup目录下3.每台web服务器进行本地备份时,都备份到backup下以本机IP地址命名的目录中4.打的tar包文件名中需要包含执行当天的日期5.统一备份数

linux运维、架构之路-全网备份项目方案

1.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送备份服务器backup上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器backup上) 2.具体需求规划 所有服务器的备份目录必须一致 /backup/ 要备份的系统配置文件包括但不限于: 一.定时任务服务器的配置文件(/var/sp

全网备份

1.1全网备份项目介绍说明: 将全网架构中所有服务器上重要的数据进行汇总备份保存 自动化:数据信息的自动备份 规范化:避免备份数据出错 1.2  全网备份项目实施过程 ①. 规划定义好备份服务器 a 部署rsync备份服务(采用rsync守护进程方式) b 编写脚本文件管理备份数据信息 c 编写定时任务执行脚本管理数据(难点) ②. 确认验证好架构服务器 a 验证rsync备份服务 b 编写脚本文件统一备份数据信息(难点) c 编写定时任务执行脚本备份数据 1.3 全网备份项目rsync守护进程

Rsync 网站全网备份

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据做备份,这样Web服务器数据丢失可以进行恢复.要求如下: 每天晚上00点整在Web服务器A上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器B上). 问题一.实现把Web服务器A数据备份到服务器B. 具体要求如下: 1)Web服务器A和备份服务器B的备份目录必须都为/backup. 2)系统配置文件包括但

linux 全网备份项目

linux全网备份项目 要求 1.基本备份要求 已知 3 台服务器主机名分别为 web01.backup .nfs01,主机信息见下表: 服务器说明 外网IP(NAT) 内网IP(NAT) 主机名称      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

一键部署rysnc实现全网备份

需要的工具:ansible 批量管理工具 思路: 实现一键自动化安装好rysnc备份服务器,实现全网备份 rysnc配置文件,是在管理机上,推送到我们的rysnc服务器上的,所以我们可以随时可以在管理机修改我们的rysnc服务器上的配置文件 rysnc配置文件写两个模块 backup nfsbakcup 就是两个备份共享的目录 backup    共享目录是存放全网备份的数据 nfsbackup共享目录是备份我们nfs服器上的数据实现实时同步 客户端需要向rsync备份服务器推送数据,一天一次,

rsync 全网备份

rsync全网备份 1.首先检查服务器中是否有rsync服务 查看方式使用rpm -qa|grep "rsync" 进行查看是否已存在, 如果不存在就是用yum install rsync -y 进行下载安装 2.将备份服务器端的rsync进程启动. 启动方式:rsync --daemon 然后进行查看进程是否开启 ps -ef |grep "rsync" 3.创建虚拟用户reync,并不指定家目录 创建方式 useradd -s /sbin/nologin/ -M