crontab 日志_聊聊老板让我删除日志文件那些事儿
一、背景
老板:小白,刚才咱们的机器告警磁盘空间不足了,你去定位一下原因。
我:(......空间不足碍我屁事儿)好的,马上定位
我:老板,太多N天前的日志文件占用了太多空间。
老板:你感觉你保留着这些日志,我会给你晋升涨薪嘛?
我:应该不会吧(如果会的话,那就太好了)
老板:(发怒)你知道不会,还不赶快去清理一下日志文件。
(说完便扬长而去,留下在风中凌乱的我)
二、解决方案
有些问题你感觉是送分题,往往这却是一道送命题
rm -rf unused.log
纵然粗暴,但是你仍可以将它玩出细腻的花样。
问:那怎么才能玩的细腻呢?
答:crontab。
什么你还不知道crontab?
答:那还不快去google一下。
三、Crontab介绍
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
3.1 命令格式
本文不是详细介绍crontab,如想详细了解,还请自行google。
crontab [-u user] [ -e | -l | -r ]
-u user:用来设定某个用户的crontab服务
-e:编辑crontab文件
-l:显示crontab文件内容
-r:删除crontab文件
3.2 文件格式
分 时 日 月 星期 要运行的命令
四、实践
4.1 创建删除日志的shell文件
首先我们先创建删除日志的shell文件,这样cron任务要运行的命令就是
sh myshell.sh。
我的任务是删除7
天前创建的日志文件,所以shell文件delLog.sh
定义如下:
# !/usr/binfind /logs/ -name '*.log' -mtime +7 -exec rm -rf {} \;
4.2 创建并编辑
使用crontab -e
,存在任务则直接编辑,不存在则创建之后再编辑。编辑内容如下:
0 5 * * 1 sh delLog.sh
0 5 * * 1
:表示每周一的凌晨5点执行
五、遇到的问题总结
问题1:配置了定时任务,但是没有生效
最终通过该文章得到了解决:crontab 在mac上不执行问题研究
问题2:我想删除文件夹怎么办
因为上面是使用find
命令找到并删除,所以使用参数-type d
即可。例如: 想删除7天前创建且名为log
的文件夹。
# !/usr/binfind /logs/ -name 'log' -type d -mtime +7 -exec rm -rf {} \;
六、工具
最后给大家推荐一下自己用到的相关工具:
crontab-generator:该网站可以通过页面配置生成相应的表达式
在线工具:该网站可以验证crontab表达式的准确性,区分不同语言(linux、java)
来源:https://juejin.im/post/5e660de3518825496f38321e
☆ END ☆
crontab 日志_聊聊老板让我删除日志文件那些事儿相关推荐
- mysql 删除过期日志_【转】对mysql日志进行操作的总结包括 启用,过期自动删除 等...
近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结: 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态, ...
- java 打开gc日志_在运行时打开GC日志记录
java 打开gc日志 总是有下一个JVM表现不佳. 而且,您内心深知,如果您只有少数启动选项可以公开一些有关正在发生的事情的信息,那么您可能就有机会真正修复该死的东西. 但是不,您需要的标志( -X ...
- oracle 删除补全日志组_Oracle 10g 添加、删除日志组
做日常巡检的时候发现alert日志中有这个错误 Thread 1 cannot allocate new log, sequence 319708 Checkpoint not complete 这个 ...
- ios 打印 详细错误日志_关于Xcode不能打印崩溃日志
最近在调试应用的时候发现了一个问题, 就是Xcode的控制台不打印Crash日志. 几经周折终于发现了问题. 因为不能打印日志, 开始以为是我没有设置 NSSetUncaughtExceptionHa ...
- 记录程序写入日志_终于有人把MySQL 三大日志讲清楚了
点击上方"蓝字",关注了解更多 日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括错误日志.查询日志.慢查询日志.事务日志.二进制日 ...
- recuva文件恢复乱码_使用Recuva恢复意外删除的文件
recuva文件恢复乱码 It can be the worst feeling in the world when you accidentally delete a very important ...
- 交换机日志删除_锐捷交换机如何删除日志
2014-11-20 回答 标准acl配置 提问:如何只允许端口下的用户只能访问特定的服务器网段? 回答: 步骤一:定义acl s5750#conf t ----进入全局配置模式 s5750(conf ...
- mysql数据库执行事务日志_第十章 MySQL事务及其日志介绍
一.数据库升级 #1.提出方案 1)升级的方法 2)升级的步骤 3)升级的时间 4)升级步骤可能会出现的问题 5)出现的问题怎么解决,解决时间 6)升级后出现的问题 #2.搭建新的数据库 #3.备份就 ...
- 5显示日志_如何在 Linux 中管理日志 | Linux 中国
Linux 系统上的日志文件包含了很多信息--比你有时间查看的还要多.以下是一些建议,告诉你如何正确的使用它们--而不是淹没在其中.-- Sandra Henry-stocker Linux 系统上的 ...
最新文章
- Shell脚本编写与应用
- Java学习_day004:Scanner与分支结构
- vs2013编译osg缺少mfc120d.lib
- Python3标准库:asyncio异步I/O、事件循环和并发工具
- KDD Cup2020 正式开赛,天池诚邀各路豪杰来挑战!!
- 学习笔记(1):uni-app实战社区交友类app开发-引入自定义图标库
- 深度linux怎么运行windos软件,(转自深度技术)让Ubuntu也能运行Windows程序-Wine的安装与使用...
- 怎么在计算机上设置复印机双面打印,Word如何设置双面打印
- Spring源码下载及构建技巧
- 图片放大后变模糊了怎么办?
- OpenCV_15绘制朱利亚(Julia)集合图形
- 【图像处理】PS曲线工具matlab实现 交互自定义灰度映射(Gray Level Transformation)附代码链接
- python汇率转换_python汇率兑换
- 软考真题答案-2021年11月系统集成项目管理工程师上午题(二)
- 在顺丰的历史上,扩大规模的资金来源
- JS鼠标放上移开 显示隐藏图标 的代码思路
- 网络图片缩略图查看工具
- 案例直播 | Pulsar Summit Asia 2022:Day 1 - 分论坛 1:腾讯、华为、有道、vivo、科大讯飞...
- 3行代码用python实现图片格式转换
- 51单片机74ls273并行输出地址c语言程序,跑马灯/输入输出接口(片选地址74LS273)...
热门文章
- java 中batch_java相关:Mybatis中使用updateBatch进行批量更新
- 电脑硬件检测_【学无止境】电脑硬件维修测试学习资料(附送各类PC检修资源)...
- Spark Master的注册机制与状态管理
- 奇数阶幻方 java_N(奇数)阶幻方-java实现代码
- 编译html成qch,在应用程序编译过程中运行qcollectiongenerator
- redis和mysql数据不一致_高并发下为什么 redis 和数据库不一致?怎么解决?
- 天天说常识推理,究竟常识是什么?
- Spring boot中使用log4j记录日志
- 论文浅尝 | 直译优于翻译?混合语言的知识库问答方法研究
- 连载 | 知识图谱发展报告 2018 -- 前言