全网服务器数据备份解决方案

第1章 项目准备工作

1.1 基本备份要求

  已知3台服务器主机名分别为:web01backupnfs01,主机信息如下表:

服务器说明

外网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,配置文件默认是空的,需要自己编辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@backup ~] # cat /etc/rsyncd.conf
#rsync_config_____________________________start
#created by oldboy 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

1
2
3
[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目录

1
2
3
4
[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/


2.1.4 创建rsync的密码配置文件,默认也是空的

1
2
3
4
5
[root@backup ~] # cat /etc/rsync.password 
rsync_backup:oldboy
[root@backup ~] # chmod 600  /etc/rsync.password 
[root@backup ~] # ls -l /etc/rsync.password 
-rw-------. 1 root root 20 11月 29 01:14  /etc/rsync .password


2.1.5 开启服务并开机自启动

1
2
[root@backup ~] # tail -1 /etc/rc.local 
/usr/bin/rsync  --daemon
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为您提供一个简单的Shell脚本,用于备份全网服务器数据:#!/bin/bash# 备份全网服务器数据for server in `cat server_list`dobackup_host $serverdone ### 回答2: 全网服务器数据备份的shell脚本主要是实现对服务器上的数据进行备份的自动化操作。具体实现的步骤如下: 1. 首先,我们需要确定备份的目标路径,可以选择本地硬盘、网络存储设备或者云存储服务。在脚本中,我们可以设置一个变量来存储备份路径的地址。 2. 然后,我们需要使用shell的一些命令来进行备份操作。通常可以使用tar命令对数据进行打包和压缩操作,并将其保存到备份路径中。在脚本中,我们可以使用`tar -czvf`命令来实现打包和压缩数据,`-c`表示创建新的备份文件,`-z`表示使用gzip压缩,`-v`表示显示详细操作信息,`-f`表示指定备份文件的名称。 3. 备份完成后,可以添加一些文件操作命令,如移动、删除、重命名等,以便对备份文件进行管理。例如,我们可以使用`mv`命令将备份文件移动到指定的目录中。 4. 为了实现定期备份,我们可以使用cron服务来定时执行备份脚本。通过编辑cron表达式,可以设置备份的间隔时间和执行时间。 总的来说,全网服务器数据备份的shell脚本需要确定备份路径、使用tar命令压缩数据、管理备份文件,并结合cron服务实现定时备份。此外,为了保证备份的可靠性,可以考虑在备份脚本中添加日志记录和错误处理等功能,以便监控备份过程中的任何异常情况。 ### 回答3: 全网服务器数据备份的shell脚本可以使用以下步骤进行实现: 1. 首先,我们需要创建一个新的脚本文件,例如backup.sh,并在文件开头添加#!/bin/bash来指定使用bash作为脚本的解释器。 2. 确定要备份的目标服务器,可以使用ssh命令远程登录到服务器。在脚本中添加ssh登录命令,例如:ssh user@serverIP,其中user是登录服务器的用户名,serverIP是服务器的IP地址。 3. 在登录到服务器之后,我们需要使用rsync命令来进行文件同步和备份。rsync可以通过SSH协议安全地实现数据传输。在脚本中添加rsync命令,例如:rsync -avz --progress source_directory destination_directory,其中source_directory是要备份的目录,destination_directory是备份目标目录。 4. 可以使用tar命令创建一个压缩文件,将备份的数据打包起来以便于传输或存储。在脚本中添加tar命令,例如:tar -zcvf backup.tar.gz backup_directory,其中backup_directory是备份目录。 5. 最后,可以选择将备份文件传输到另一个目标服务器或存储设备上。可以使用scp命令将备份文件从源服务器复制到目标服务器,例如:scp backup.tar.gz user@destinationIP:destination_directory,其中destinationIP是目标服务器的IP地址,destination_directory是目标目录。 以上是一个简单的全网服务器数据备份的shell脚本示例。根据实际需求,可以根据需要调整和改进脚本中的命令和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值