Rsync备份全网服务器数据

本文详细介绍了企业级数据备份的实施策略,包括NFS服务器与备份服务器的设置,通过rsync命令实现定时备份,覆盖系统配置文件、Web服务器站点与日志等关键数据。同时,阐述了数据保留策略,确保数据的完整性和可用性。

 

【企业案例】

要求你把数据在其他机器上做一个周期性定时备份。要求如下:

每天晚上00点整在NFS服务器nfs01上打包备份网站程序目录等并通过rsync命令推送到备份服务器backup上备份保存

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

 

具体要求如下:

[x] NFS服务器nfs01和备份服务器backup的备份目录必须都为/backup

[x] 要备份的系统配置文件包括但不限于:

定时任务服务的配置文件(/var/spool/cron/root)

开机自启动的配置文件(/etc/rc.local)

日常脚本的目录(/server/scripts)

防火墙iptables的配置文件(/etc/sysconfig/iptables)

自己思考下还有什么需要备份呢

[x] Web服务器站点目录假定为(/var/html/www)

[x] Web服务器A访问日志路径假定为(/app/logs)

[x] Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满)

[x] 备份服务器上,保留每周一的所有数据副本,其它要保留6个月的数据副本

[x] 备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。

[x] 需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发送给系统管理员邮箱中。

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1 环境部署

操作系统

# cat /etc/issue

内核版本

# uname -a

主机网络参数设置:

主机名

网卡eth0

用途

backup

10.10.10.209

rsync服务端

nfs01

10.10.10.208

NFS存储服务器客户端

 

1.2 部署Rsync服务端

1)确认软件是否安装

# rpm -qa rsync

2)配置/etc/rsyncd.conf配置文件

3)根据rsyncd.conf配置,创建elas账户及共享目录并修改目录属主为elas

创建elas用户

# useadd elas

创建共享目录

# mkdir /home/elas/data

修改共享目录的权限

# chown -R elas /home/elas/data

4)启动服务rsync

# rsync --daemon

默认去使用/etc/rsyncd.conf这个配置文件,也可以指定配置文件 rsync --daemon--config=/etc/rsyncd2.conf,更改配置文件不用重启服务,即时生效。

验证rsync服务

# ss -antup | grep rsync

5)制作服务启动脚本/etc/init.d/rsyncd

6)启动脚本放到/etc/init.d目录下,增加x执行权限并添加开机启动

文件赋予执行权限

# chmod +x /etc/init.d/rsyncd

启动/关闭rsyncd

7)创建elas虚拟账户名和密码,并赋予密码文件600权限

# echo "elas:123456" > /etc/rsync.password

# chmod 600 /etc/rsync.password

8)配置Rsync服务器端检查脚本

9)将脚本挂定时任务

00 6 * * * /bin/sh /server/scripts/rsync_Server.sh >/dev/null2>&1

 

1.3 部署Rsync客户端

1)只需要创建密码文件(只包含密码即可),并赋予密码文件600权限

# echo "123456" >/etc/rsync.password

# chmod 600 /etc/rsync.password

2)创建共享目录data

# mkdir /home/elas/data

3)在客户端进行推送测试

rsync -avzP /home/elas/data/ elas@10.10.10.209::backup--password-file=/etc/rsync.password

4)nfs01服务器打包脚本实现

 

5)将脚本挂定时任务

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

 

### 回答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脚本示例。根据实际需求,可以根据需要调整和改进脚本中的命令和参数。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值