定时备份日志

设置执行权限

[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的更多相关文章

  1. centos使用shell脚本定时备份docker中的mysql数据库

    shell脚本 #!/bin/bash #容器ID container_id="6b1faea2b4d7" #登录用户名 mysql_user="root" # ...

  2. 使用shell脚本定时采集日志数据到hdfs分布式文件系统

    1.首先对linux操作系统的crontab命令进行熟悉和了解: .crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系 ...

  3. 使用shell脚本定时备份web网站代码

    #!/bin/bash ############### common file ################ #备份文件存放目录 WEBBACK_DIR="/data/backup/ba ...

  4. shell脚本定时备份数据库

    脚本代码: 新建文件back_db.sh #!/bin/bash TODAYTIME="`date +%Y%m%d`" DBNAME="test mysql" ...

  5. Hadoop(四)shell脚本定时采集日志数据到hdfs

    #!/bin/bash #set java envexport JAVA_HOME=/wocloud/java/jdk1.7.0_45export JRE_HOME=${JAVA_HOME}/jree ...

  6. Linux下添加shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...

  7. linux中使用corntab和shell脚本自动备份nginx日志,按天备份

    编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblo ...

  8. 使用shell脚本定时执行备份mysql数据库

    使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...

  9. Linux下使用crontab定时备份日志

    上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...

随机推荐

  1. idea使用lombok不生效的解决办法

    file-->setting-->plugins点击下方的 browse repositories. 搜索lombok plugin. 安装后,重启. file-->setting- ...

  2. Python爬取酷狗飙升榜前十首(100)首,写入CSV文件

    酷狗飙升榜,写入CSV文件 爬取酷狗音乐飙升榜的前十首歌名.歌手.时间,是一个很好的爬取网页内容的例子,对爬虫不熟悉的读者可以根据这个例子熟悉爬虫是如何爬取网页内容的. 需要用到的库:requests ...

  3. Python【day 16-1】面向对象初识

    1.面向对象思想 1.面向过程 1.概念 按照事物的发展流程,第一步,第二步,第三步,一步步往下 2.优缺点 1.优点 简单,流水线式的 2.缺点 可扩展性差 2.面向对象 1.概念 对象:是属性和动 ...

  4. Java正则表达式详细解析

    元字符 正则表达式使用一些特定的元字符来检索.匹配和替换符合规则的字符串 元字符:普通字符.标准字符.限定字符(量词).定位字符(边界字符) 正则表达式引擎 正则表达式是一个用正则符号写出来的公式 程 ...

  5. xml解析-jaxp查询结点

    jaxp查询结点 eg://获取name的值 // person.xml <?xml version="1.0" encoding="UTF-8"?> ...

  6. Flask(Jinja2) 服务端模板注入漏洞(SSTI)

    flask Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序.这个 wdb 应用程序可以使一些 web 页面.博客.wiki.基于 we ...

  7. Dynamics 365 We API ODATA语法根据父记录查询子记录,根据子记录查询父记录(附上根据团队,队列名称查成员)

    微软动态CRM专家罗勇 ,回复333或者20190508可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 先举个N:N关系的例子.这里以根据团队的名称查找其所有团队成员的 ...

  8. [b0025] vmware_桥接网路设置

    总结: 桥接 模式上外网比较简单. 缺点是每次重启虚拟机,分配的IP可能变化,导致 xshell  连接 时都要修改,很麻烦 桥接模式能不能配置静态IP  ? 1. 环境 物理机网络 情况,从外部自动 ...

  9. Linux中的硬链接和软链接的概念、区别及用法

    概念: 硬链接(hard link): A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指 ...

  10. 具名插槽 slot (二)

    slot 是父组件与子组件的通信方式可以将父组件的内容显示在子组件当中或者说可以将 让你封装的组件变的更加的灵活,强壮! 在子组件中  通过为多个slot进行命名.来接受父组件中的不同内容的数据  这 ...