备份日志文件的linux命令,linux配置文件、日志文件全备份教程—珍藏版

今天春哥技术博客就linux配置文件及日志文件全备份的教程给大家分享一下,希望可以帮到大家。

1、分别设置两台主机满足试验要求

服务器 IP 主机名

nginx-web服务器 192.168.10.150 web1

备份服务器

192.168.10.20 backup

要求:每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器 backup 上),nginx-web服务器是实际工作中的服务器,具体要求如下:

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

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

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

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

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

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

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

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

5)Web 服务器保留打包后的 7 天的备份数据即可(本地留存不能多于 7 天)

6)备份服务器上要按照备份web服务器的 IP 为目录保存备份,备份的文件按照时间名字保存。

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

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

2、nginx-web服务端备份代码

[root@web1 /]#vim backup.sh

#!/bin/bash

#定义变量

hostip=hostanme -I

cd /

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

date=date +%F-%a

webfile="/home/www"

weblog="/app/logs"

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

mkdir -p /backup/$hostip

#打包系统要求的配置文件、web站点目录、日志目录

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

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

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

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

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

rcyns -avz ./backup/$hostip rsync_backup@192.168.10.20::backup --password-file=/etc/rsync.password > /dev/null 2>&1

if [ $? -ne 0 ];then

echo "备份失败" | mail -s "备份情况" 745651470@qq.com

fi

#清理7天以前打包的文件

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

定时任务

[root@web1 /]# crontab -e

00 00 * /bin/bash backup.sh >/dev/null 2>&1

3、备份服务器端代码

[root@backup /]# vim jiaoyan.sh

#!/bin/bash

date=date +%F-%a

cd /

A=(ls /backup | xargs -n1)

for ( i=0;i< ${#A[]};i++ )

do

/usr/bin/md5sum -c /backup/${A[i]/md5${date}.txt >> ./jiaoyanjieguo 2>/dev/null

##-c选项来对文件md5进行校验。校验时,根据已生成的md5来进行校验。生成当前文件的md5,并和之前已经生成的md5进行对比,如果一致,则返回OK,否则返回错误信息

done

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

rm -rf ./jiaoyanjieguo

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

定时任务

[root@backup /]# crontab -e

00 06 * /bin/bash jiaoyan.sh > /dev/null 2>&1

脚本功能的实现还有进一步的优化,如有好的思路可以一起分享···

本文出自春哥技术博客官网,转载请注明出处,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值