【shell脚本】定时备份日志===logBackup.sh
定时备份日志
设置执行权限
[root@VM_0_10_centos shellScript]# chmod a+x logBackup,sh
脚本内容
[root@VM_0_10_centos shellScript]# cat logBackup,sh
#!/bin/bash
#===========================================
# BACKUP LOGS
#===========================================
# 设置显示的日期格式:年-月-日
time=`date +%Y-%m-%d`
# 备份路径
path=/usr/local/apache-tomcat-8.5.45/logs
cd $path
# 备份日志,格式为catalina.2019-10-08.log
cat catalina.out > $path/catalina.$time.log
# 清空已备份好的日志
cat /dev/null > $path/catalina.out
# 将25天之前的日志打包好,然后删除
total=`find $path -name "*.log" -mtime +25 | wc -l`
if [ $total -eq 0 ];then
echo "[info] 没有25天之前的日志";
else
find $path -name "*.log" -mtime +25 | xargs tar -zcf /tmp/log_$time.tar.gz;
find $path -name "*.log" -mtime +25 | xargs rm -rf {} \;
fi
# 最后设置好定时任务即可,每天凌晨定时执行
# 0 0 * * * /usr/local/shellScript/logBackup.sh
分析
1)先定义备份格式,和备份路径,切换到备份路径下进行备份操作
2)备份日志格式为catalina.2019-10-08.log,并清空备份好的日志
3)统计查询25天之前的日志总数
4)判断是否有25天之前的日志,如果有则将25天之前的日志打包备份到/tmp目录下;如果没有则统计的总数等于0,不进行备份操作,并输出提示信息
5)设置定时任务
设置定时任务
[root@VM_0_10_centos shellScript]# crontab -e
* * * /usr/local/shellScript/logBackup.sh
【shell脚本】定时备份日志===logBackup.sh的更多相关文章
- centos使用shell脚本定时备份docker中的mysql数据库
shell脚本 #!/bin/bash #容器ID container_id="6b1faea2b4d7" #登录用户名 mysql_user="root" # ...
- 使用shell脚本定时采集日志数据到hdfs分布式文件系统
1.首先对linux操作系统的crontab命令进行熟悉和了解: .crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系 ...
- 使用shell脚本定时备份web网站代码
#!/bin/bash ############### common file ################ #备份文件存放目录 WEBBACK_DIR="/data/backup/ba ...
- shell脚本定时备份数据库
脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" ...
- Hadoop(四)shell脚本定时采集日志数据到hdfs
#!/bin/bash #set java envexport JAVA_HOME=/wocloud/java/jdk1.7.0_45export JRE_HOME=${JAVA_HOME}/jree ...
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...
- linux中使用corntab和shell脚本自动备份nginx日志,按天备份
编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblo ...
- 使用shell脚本定时执行备份mysql数据库
使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...
- Linux下使用crontab定时备份日志
上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...
随机推荐
- Jenkins 插件 升级站点 镜像 好用的 2019年11月
这两天开始学Jenkins 用docker下载了一个镜像运行 , 版本太老了.初始化插件各种报错:版本低/ 更新失败等. dockerhub里面的版本才 2.60 然后又从Jenkins.io 官网上 ...
- ASP.NET ---- Repeater 遍历出省市
Repeater 控件可以数据库中的数据,一条条的查找出,不需要后端在进行遍历输出了, Repeater必须使用的是Itemtemplate,其它的类型模板按需添加,主要记住Itemtemplate ...
- Springboot整合Thmeleaf
1.概述 Thymeleaf类似JSP.Velocity.Freemarker都是模板引擎,主要用来展示数据,原理如下 springboot官网还是推荐使用Thymeleaf而不是jsp, 不使用js ...
- 转载:点云上实时三维目标检测的欧拉区域方案 ----Complex-YOLO
感觉是机器翻译,好多地方不通顺,凑合看看 原文名称:Complex-YOLO: An Euler-Region-Proposal for Real-time 3D Object Detection ...
- Java电商项目-1.构建数据库,搭建项目环境
目录 到Github获取源码请点击此处 一. 数据库还原 二. Mybatis逆向生成工具的使用 三. 搭建项目环境 四. 在linux虚拟机上部署zookeeper, 搭建Dubbo服务. linu ...
- 在Asp.net Razor Pages/MVC程序中集成Blazor
今天试了一下在Asp.net core Razor Pages/MVC程序中集成Blazor(Server-side),还是可以完美整合的,这里以Razor Pages为例(.net core 3.1 ...
- C#简单的枚举及结构
using System; namespace program { enum WeekDays { a, b, c = ,//11 赋值以后就变成11,不赋值就是2 d, e, f, g }//不能输 ...
- Python 自定义元类的两种写法
有关元类是什么大家自己搜索了解,我这里写一下实现元类的两种写法 # 自定义元类 #继承type class LowercaseMeta(type): ''' 修改类的属性名称为小写的元类 ''' # ...
- HTML5新标签与特性---多媒体
多媒体标签 embed:标签定义嵌入的内容 audio:播放音频 video:播放视频 多媒体 embed(会使用) embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.M ...
- Flutter学习笔记(1)--环境安装
flutter最近显得格外的火,公司的同事也一直在谈论flutter,感觉自己不学学就要失业了...所以决定顺应潮流学习以下flutter,做一下学习笔记,希望可以给需要的同学带来一些帮助~ 正文为f ...