SHELL 脚本定期删除日志文件(日志定期清理)

news/2025/3/5 2:24:06/

假设我们的应用每天会产生一个日志文件,但我们并没有对日志文件做任何归档处理,久而久之日积月累,就会将磁盘空间占满,从而影响系统的正常运行。

分析磁盘空间占用情况

#当前磁盘空间占用情况

df -h

#当前目录文件大小列表

ll -lh

#文件列表按时间排序

ll -rt

#文件大小列表,按时间排序

ll -lhrt

#查询20天前的日志

find  * -name 'server02.log007*' -mtime +20

#删除20天前的日志

find  * -name 'server02.log007*' -mtime +20 -exec rm -rf {} \;

那么,如何定期清理过期的日志文件呢?

方法一:应用实现方法二:shell脚本定期清理

应用实现的方式这里就不做过多的介绍,本文着重讲解下如何编写shell脚本定期清理日志文件。

步骤一:编写自动清理日志文件shell脚本

# vim logAutoClean.sh

#!/bin/bash
log_path="/home/server/core/logs/app"#目录存在,删除修改时间为7天前的文件
if  [ -d "${log_path}" ]; then 
echo start delete log 7 days ago...find "${log_path}"/* -name '*.log.gz' -mtime +7 -exec rm -rf {} \;
echo end delete log ...	
fi

# :wq! 保存并退出

步骤二:脚本文件授权(可执行权限)

# chmod +x logAutoClean.sh

测试一下:

# sh logAutoClean.sh

步骤三:创建crontab定时任务

# crontab –e

进入编辑页面(第一次进入会让你选择编辑器,这里我们选择3[vim.basic]就ok)。

  • 设置每天凌晨1点执行(假定清除脚本在目录/home/server/core/logs/app下),编辑crontab,增加如下行:
00 01 * * * /home/server/core/logs/app/logAutoClean.sh
  • 可先设置五分钟执行一次,测试下脚本
*/5 * * * * /home/server/core/logs/app/logAutoClean.sh
  • 如果定时任务不生效,重启下crond服务
# service crond restart  //重启服务

附录:crontab用法说明

  1. crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。
  2. 每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
  3. 在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

每个域之间使用空格或者制表符分隔。格式如下:

格  式: minute hour day-of-month month-of-year day-of-week commands 
合法值: 00-59 00-23 01-31 01-12 0-6 (0 is sunday)

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

crontab 命令

-l 在标准输出上显示当前的crontab。 
-r 删除当前的crontab文件。 
-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。 

编辑于 2020-03-03 23:11


http://www.ppmy.cn/news/295799.html

相关文章

中国科学院稀土研究院-PLC采集项目案例

1.项目背景 中国科学院稀土研究院(江西稀土研究院)隶属中国科学院。 作为中国国内唯一专注于稀土科技创新的国立科研机构,中国科学院稀土研究院将面向国家战略和产业发展重大需求,围绕稀土绿色、高效、均衡、高值化利用的核心科学…

ipad电量充不进去虽然显示在充电的原因之一

根据知乎大量网友反馈,可能是因为温度过低原因。 吹风机吹一两分钟后,放被窝里捂一捂开始充电就可以充进去了。

mp3充不进去电,无法播放,检测出电池问题,更换新电池

需要工具 万用表 游标卡尺 旧电池 电烙铁 拆机mp3 机器信息 开始拆机 检测mp3 检测mp3原有电池的电压,发现原有电池有问题,电压过低 测量正常的7号电池电压,发现电压常 MP3正面 MP3反面 测量电池尺寸大小 测量旧电池的电压,电压正…

计算机电池维修心得,千米电脑维修师傅告诉你:笔记本电脑插电后,充不进去电怎么办?...

原标题:千米电脑维修师傅告诉你:笔记本电脑插电后,充不进去电怎么办? 一、原因分析 1、软件问题 一般来说,很多电脑品牌如戴尔、联想、索尼等,都会为其笔记本电脑配备电源管理软件,如果启用了一…

手机充电提示“无法充电,请咨询售后”

转自 https://www.bilibili.com/read/cv6121824/ 一VIVO Y85,描述说是摔过的机子,充电时提示“无法充电,请咨询售后”。 【故障分析】 充电异常一般分为:①电压过高电压过低;②温度过高过低;③接触异常等…

手机充不进去电是怎么回事?有什么方法处理

我们经常用手机,可能也不会特别去留意手机充电这个细节,但有时手机充不进电怎么回事,像这些种情况,怎么自行试着先处理一下看呢 牙签和棉棒清理充电口 首先啊把这个棉棒上的那个棉花,我们给它揪下来一些。然后呢那放到…

手机充电补电经验分享

现在,我们已经进入了移动互联网的时代,手机已经不可能离开我们的生活。当然,在日常工作、生活中,我们就发现许多人的手机电池是不够用的。那我们今天来分享一下手机电池的充电、补电、换电池的恰当时机。 正常电池情况 当然我们所设计的介绍的都是智能机,老年机除外。一般…

华为鸿蒙手机充电期间系统将进行深度优化

本文转载自IT之家 IT之家 5 月 26 日消息 现在,微博小尾巴已可识别华为鸿蒙系统的设备,不过初次只会识别为“HarmonyOS 设备”,再次启动微博就可以正常显示机型。 另外,据微博博主 Ark 咔嚓一下 消息称,华为鸿蒙系统软…