Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Linux network-wide backup project

2025-01-17 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

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

要求:每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留(备份思路可以是先在本地按日

期打包,然后再推到备份服务器 backup 上) ,NFS 存储服务器同 Web 服务器,实际工作 中就是全部的服务器。

具体要求如下:

1)所有服务器的备份目录必须都为/backup。

2)要备份的系统配置文件包括但不限于:

a.定时任务服务的配置文件(/var/spool/cron/root)(适合 web 和 nfs 服务器) 。

b.开机自启动的配置文件(/etc/rc.local)(适合 web 和 nfs 服务器) 。

c.日常脚本的目录 (/server/scripts)。 d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。

3)Web 服务器站点目录(/var/html/www)。

4)Web 服务器 A 访问日志路径(/app/logs)

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

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

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

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

具体代码如下

客户端

#!/bin/bash

#---------------------------------------------------------------------

#定义变量

hostip=`hostname -I|awk '{print $2}'`

cd /

varfile="./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables"

date=`date +%F-%a`

webfile="/var/html/www"

weblog="/app/logs"

mkdir /backup >/dev/null 2>&1

mkdir -p /backup/$hostip

#-------------------------------------------------------------------

#打包系统配置文件、web站点目录、日志访问路径

tar -zchf /backup/${hostip}/${date}.gz.tar ./$varfile

tar -zcf /backup/${hostip}/webfile_${date}.gz.tar ./$webfile

tar -zcf /backup/${hostip}/weblog_${date}.gz.tar ./$weblog

md5sum /backup/${hostip}/* >/backup/${hostip}/md5${date}.txt

#--------------------------------------------------------------------

#清理包,因为你已经把内容传输过去了,留着没有意义

find /backup/${hostip}/ -type f -mtime +7 -name "*.tar"|xargs rm -f

find /backup/${hostip}/ -type f -mtime +7 -name "md5.txt"|xargs rm -f

#---------------------------------------------------------------------

#通过rsync发送到备份服务器上

rsync -a ./backup/${hostip} rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password >/dev/null 2>&1

if [ $? -ne 0 ];then

echo "备份失败"|mail -s "nfs备份情况" 979477675@qq.com >/dev/null 2>&1

fi

定时任务

crontab -e

00 00 * * * /bin/bash 文件 >/dev/null 2>$1

服务端代码

#!/bin/bash

cd /

A=(`ls backup|xargs -n1`)

for ((i=0;i>./ceshi 2>/dev/null

a=$a[a+1]

done

/bin/mail -s "备份数据" 979477675@qq.com /dev/null 2>&1

rm -f ./ceshi

find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f

#自动获取/backup下的目录并且比较适合多台服务器

定时任务

crontab -e

00 06 * * * /bin/bash 文件 >/dev/null 2>$1

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report