linux脚本定时,shell脚本 每天定时进行自动备份实战脚本~~~

定时备份脚本

在每天设定的时间内,准时准点的对我们要备份的数据信息进行备份;正因为每天备份大量的数据信息会叠加,对我们的磁盘产生负担,为了能够减轻我们磁盘容量的负担,又能实现我们每天的数据备份;我们今天开发的脚本呢,就是为了实现这样的需求;每天实现自动备份,当备份到第五天的时候,就把第一天的备份进行删除,只备份四天的备份,以此类推。

这样做的好处既不会影响我们的备份信息,又不会给我们的磁盘造成负担...

脚本代码

[root@server10 order]# vim back-up.sh

#!/bin/bash

#用途:备份数据并删除过期的数据

#联系方式:https://blog.csdn.net/weixin_42867972

#开发者:酋长rosen

#版本号:2.0.10

cd / #回到根目录才能实行绝对路径的备份

path="/test/etc-bak" #备份到对应目录下

way="/etc" #需要备份的路径

con="etc" #变量命名

tar -zvcf /test/etc-bak$way.`date +%F`.tar.gz $way >/dev/null 2>>/root.sh

#对文件进行性备份,备份的目录内容是/etc

num=`ls -l $path | grep -E "\\..*\.tar.gz$" | wc -l` #统计文件的数量

if [ $num -gt 4 ] #判断是否为四个文件

then

rm -rf $path/`ls -l $path | grep "\\..*\.tar.gz$" | head -n 1 | awk '{print $NF}' | xargs`

#删除前一天的备份文件

echo -e "\033[32m The backup successful \033[0m" #输出备份成功提示

fi

脚本思路解析:

1、定义变量 “way” 里面的是所备份的绝对路径, "con" 是方便对命名为 etc 文件的查找而赋值变量

2、对目标文件目录进行打包,以打包的文件加日期规范命名,如果备份不成功那就把错误信息汇报到 /root.sh文件下,方便我们查阅

3、对我们的备份进行数量统计,在我们规定的数量以内(目前规定是四个,可根据需求来定)

4、如果超过了四个,脚本就会执行操作并排序,对当天的文件备份的同时会把排在最前的备份文件进行删除操作

5、如果没有超过四个,备份一样会执行,但是删除操作不会执行

如果没有安装时间任务配置的话先安装时间任务配置,没有时间配置文件是无法执行的。

设定好时间,脚本在每天凌晨的四点钟执行自动备份。

[root@server10 order]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@server10 order]# cp back-up.sh /usr/local/sbin/back-up

[root@server10 ~]# yum -y install cron* #安装时间任务配置

[root@server10 ~]# crontab -e #对任务配置文件进行编辑

0 4 * * * back-up #每天四点定时执行脚本 back-up 命令备份

[root@server10 etc-bak]# ls #完成备份后察看备份的路径下内容

etc.2018-08-18.tar.gz etc.2018-08-19.tar.gz etc.2018-08-20.tar.gz etc.2018-08-21.tar.gz

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值