【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下 ...
随机推荐
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 7
18.6 PDO对预处理语句的支持 在生成网页时,许多PHP脚本通常都会执行除参数外其他部分完全相同的查询语句.针对这种重复执行一个查询,但每次迭代使用不同参数的情况,PDO提供了一种名为预处理语句 ...
- Find 查找命令时过滤掉某些文件或目录 以及 -maxdepth、-mindepth的用法
1)find过滤目录使用find命令在linux系统中查找文件时,有时需要忽略某些目录,可以使用"-path 过滤的目录路径 -prune -o"参数来进行过滤.不过必须注意:要忽 ...
- Anaconda安装第三方库与pip和conda 添加国内源
Anaconda安装第三方库 PIP使用命令 Anaconda命令 pip和conda 添加国内源 1:PIP相关命令 卸载 pip uninstall XXX 1.升级pip python -m p ...
- 基于 HTML5 WebGL 的 3D 科幻风机
前言 许多世纪以来,风力机同水力机械一样,作为动力源替代人力.畜力,对生产力的发展发挥过重要作用.近代机电动力的广泛应用以及二十世纪50年代中东油田的发现,使风机发电机的发展缓慢下来. 70年代初期, ...
- java基础(19):List、Set
1. List接口 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢? 接下来,我们一起学习Collection中的常用几个子类(List集合 ...
- FileFilter(),文件过滤器操作
package seday03; import java.io.File;import java.io.FileFilter; /*** listFiles的重载方法允许我们传入一个文件过滤器:Fil ...
- SAP系统玩阴的?
SAP系统玩阴的? 近日和项目上的ABAP开发顾问一起弄一个自开发的报表.其中某个栏位的取值需要从批次主数据里抓取到供应商代码,然后根据供应商代码取到供应商名称等.为此笔者需要备功能说明书.在说明书里 ...
- JavaScriptCore
在移动的混合开发中经常用到OC与JS的交互,就涉及iOS中的JavaScriptCore类,下面终结如下 JavaScriptCore中的类 在项目中引入JavaScriptCore后,链到头文件中, ...
- SpringBoot Junit Demo
package com.yunen.camera.test; import org.junit.Before; import org.junit.Test; import org.junit.runn ...
- 16.Java基础_对象内存图
单个对象 1.进入main函数,生成main函数的栈空间 2.先在mian函数的栈空间里产生一个Student变量(以后会用来存储Studnet对象的首地址),然后进入Student类,在堆内存创建S ...