shell命令删除昨日的日志_linux定时自动清理日志文件
现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间。应用的日志文件命名如下,固定前后缀加上日期和小时:
![](/assets/blank.gif)
为了避免手工删除日志,考虑通过写shell脚本来删除30天以前的日志文件,然后使用crontab命令生成定时任务,在每天早上0点1分调用上面的shell脚本进行日志清理。
基本环境信息如下:
工作目录:/home/weblogic/scripts/cleanlog
日志文件目录:/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/sk
1. 创建日志清理脚本cleanLog.sh
cd /home/weblogic/scripts/cleanlog
vi cleanLog.sh
输入脚本内容如下:
WORK_HOME=/home/weblogic/scripts/cleanlog
WORK_LOG_FILE=${WORK_HOME}/log/cleanup.log
#WORK_ERROR_FILE=${WORK_HOME}/log/cleanup.error.log
LOG_PATH=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/sk/
LOG_FILE_DATE_PART=`date -d "-30 day" +%Y-%m-%d`
LOG_FILE=${LOG_PATH}sk.log.${LOG_FILE_DATE_PART}*.log
function log() {
echo `date +"%Y-%m-%d %H:%M:%S - "`$1' ' >>${WORK_LOG_FILE}
}
log "clean up log start..."
log "rm -f "$LOG_FILE
rm -f $LOG_FILE 1>>$WORK_LOG_FILE 2>>$WORK_LOG_FILE
log "clean up log end."
2. 生成定时任务
首先生成定时任务的配置文件cron.txt,内容如下:
1 0 * * * sh /home/weblogic/scripts/cleanlog/cleanLog.sh
表示每天0点1分执行脚本cleanLog.sh
然后生成定时任务:crontab cron.txt
注意执行前要通过crontab -l查看,确保原来没有定时任务,否则会覆盖定时任务。
补充说明:
1) 可以通过crontab -l来查看定时的情况。
2) 要删除全部定时任务:crontab -r,但是要慎用。
3) 也可以通过crontab -e来打开任务列表,选中指定的任务进行删除。
4) 如果定时任务不执行或者执行出错,可以通过root用户来查看定时任务的执行日志:
tail-200f /var/log/cron
5) 为了方便调试,可以把定时任务设成分钟执行一次:*/1 * * * *
3. 创建日志目录和查看执行日志
脚本有记录日志清理的情况,需要在工作目录下创建一个log目录:
cd /home/weblogic/scripts/cleanlog
mkdir log
然后可以通过以下命令来查看日志清理的情况:
tail -200f cleanup.log
![](/assets/blank.gif)
4. 如果是集群,复制相关文件到其他服务器并启动定时任务
复制相关文件可以从当前服务器通过scp命令进行复制:
scp -r scripts/ 用户名@目标服务器地址:~/scripts
注:命令中~表示用户的主目录,也可以使用绝对路径进行。
shell命令删除昨日的日志_linux定时自动清理日志文件相关推荐
- gentos 执行sh文件_linux定时自动清理日志文件
现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间.应用的日志文件命名如下,固定前后缀加上日期和小时: 为了避免手工删除日志,考虑通过写shell脚 ...
- elasticsearch服务器定时自动清理日志索引
突然想到项目中每天要生产各个环境的索引...时间一长会越来越多. 这里写一个定时自动清理elasticsearch的脚本 首先.我们进入到elasticsearch的索引目录中去 发现索引数据是真 ...
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...
- linux系统中实现自动清理日志
1.定时调度工具crontab相关的rpm下载 链接:https://pan.baidu.com/s/1GBQ0_KZ9i48CjcCi978fEQ 提取码:58e4 2.若没有crontab的需要 ...
- linux系统自动清理日志实现脚本
1.删除文件命令:find 对应目录 命令选项 实例命令 find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm ...
- zookeeper3.4.6配置实现自动清理日志【转】
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...
- shell实例第23讲:每天定时备份nginx日志
每天定时备份nginx日志 要求 每天凌晨3点开始备份nginx日志 一.编写日志切割脚本 #!/bin/bashLOG_DIR=/usr/local/webserver/nginx/logs/YES ...
- centos7当数据盘到达百分之80%后自动清理日志的shell脚本
思路简单 首先编写一个shell脚本,然后用crontab定时任务每天执行一遍cat logs.sh #!/bin/bash disk=$(df -H | grep '/dev/vda1' | awk ...
- zookeeper3.4.6配置实现自动清理日志
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...
最新文章
- B站收藏6.1w+!这门课拯救你薄弱的计算机基础
- EDM营销中HTML邮件设计的技巧
- 一文搞懂Python中的所有数组数据类型
- 第一百三十四期:MySQL分页查询方法及优化
- Java Web实现信息管理
- fb50 sap 报记账码未定义_XX项目SAP关键用户培训固定资产
- android 加载so 与内存的关系,Android动态调试so之dump内存数据
- C++程序设计实践题1
- 微信小程序——诉讼费计算
- 域名 ip 校验正则表达式
- 金山词霸java接口_使用金山词霸API做翻译(c语言实现)
- day69_淘淘商城项目_02_dubbo介绍 + dubbo框架整合 + zookeeper + 商品列表查询实现 + 分页 + 逆向工程_匠心笔记
- 优化概率神经网络_贝叶斯神经网络BNN(推导+代码实现)
- python erp源码_分享|值得考虑的 9 个开源 ERP 系统
- 云网融合趋势下,视觉云如何颠覆媒体体验?
- 关于Markdown编辑器
- QT Q_DISABLE_COPY 宏的用处
- Cookie获取问题:ajax方法后端只获取到一个Cookie,Request无法获取到自定义的Cookie
- 请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!
- Word为什么会报告磁盘空间已满
热门文章
- 《4月份数据库技术通讯》.pdf
- 理清逻辑,确保云原生时代应用开发的全生命周期安全
- 【华为云技术分享】浅谈服务化和微服务化(上)
- 化繁就简 · 万物互联,华为云All-Connect企业级云网络正式发布
- ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
- 【Python3网络爬虫开发实战】3.1.2-处理异常
- webpack4.0各个击破(8)—— tapable篇
- 废旧手机屏幕做单片机显示屏_ipadmini显示屏拆解,一探究竟
- 开启ntp_飒,NTP时钟服务器在银行大楼系统方案
- ubuntu更改mysql编码格式_Ubuntu修改mysql编码格式