现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间。应用的日志文件命名如下,固定前后缀加上日期和小时:

为了避免手工删除日志,考虑通过写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

4. 如果是集群,复制相关文件到其他服务器并启动定时任务

复制相关文件可以从当前服务器通过scp命令进行复制:

scp -r scripts/ 用户名@目标服务器地址:~/scripts

注:命令中~表示用户的主目录,也可以使用绝对路径进行。

shell命令删除昨日的日志_linux定时自动清理日志文件相关推荐

  1. gentos 执行sh文件_linux定时自动清理日志文件

    现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间.应用的日志文件命名如下,固定前后缀加上日期和小时: 为了避免手工删除日志,考虑通过写shell脚 ...

  2. elasticsearch服务器定时自动清理日志索引

    突然想到项目中每天要生产各个环境的索引...时间一长会越来越多. 这里写一个定时自动清理elasticsearch的脚本 首先.我们进入到elasticsearch的索引目录中去   发现索引数据是真 ...

  3. oracle导入命令,记录一下 数据库日志太大,清理日志文件

    oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...

  4. linux系统中实现自动清理日志

    1.定时调度工具crontab相关的rpm下载 链接:https://pan.baidu.com/s/1GBQ0_KZ9i48CjcCi978fEQ  提取码:58e4 2.若没有crontab的需要 ...

  5. linux系统自动清理日志实现脚本

    1.删除文件命令:find  对应目录  命令选项 实例命令 find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm ...

  6. zookeeper3.4.6配置实现自动清理日志【转】

    在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...

  7. shell实例第23讲:每天定时备份nginx日志

    每天定时备份nginx日志 要求 每天凌晨3点开始备份nginx日志 一.编写日志切割脚本 #!/bin/bashLOG_DIR=/usr/local/webserver/nginx/logs/YES ...

  8. centos7当数据盘到达百分之80%后自动清理日志的shell脚本

    思路简单 首先编写一个shell脚本,然后用crontab定时任务每天执行一遍cat logs.sh #!/bin/bash disk=$(df -H | grep '/dev/vda1' | awk ...

  9. zookeeper3.4.6配置实现自动清理日志

    在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...

最新文章

  1. B站收藏6.1w+!这门课拯救你薄弱的计算机基础
  2. EDM营销中HTML邮件设计的技巧
  3. 一文搞懂Python中的所有数组数据类型
  4. 第一百三十四期:MySQL分页查询方法及优化
  5. Java Web实现信息管理
  6. fb50 sap 报记账码未定义_XX项目SAP关键用户培训固定资产
  7. android 加载so 与内存的关系,Android动态调试so之dump内存数据
  8. C++程序设计实践题1
  9. 微信小程序——诉讼费计算
  10. 域名 ip 校验正则表达式
  11. 金山词霸java接口_使用金山词霸API做翻译(c语言实现)
  12. day69_淘淘商城项目_02_dubbo介绍 + dubbo框架整合 + zookeeper + 商品列表查询实现 + 分页 + 逆向工程_匠心笔记
  13. 优化概率神经网络_贝叶斯神经网络BNN(推导+代码实现)
  14. python erp源码_分享|值得考虑的 9 个开源 ERP 系统
  15. 云网融合趋势下,视觉云如何颠覆媒体体验?
  16. 关于Markdown编辑器
  17. QT Q_DISABLE_COPY 宏的用处
  18. Cookie获取问题:ajax方法后端只获取到一个Cookie,Request无法获取到自定义的Cookie
  19. 请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!
  20. Word为什么会报告磁盘空间已满

热门文章

  1. 《4月份数据库技术通讯》.pdf
  2. 理清逻辑,确保云原生时代应用开发的全生命周期安全
  3. 【华为云技术分享】浅谈服务化和微服务化(上)
  4. 化繁就简 · 万物互联,华为云All-Connect企业级云网络正式发布
  5. ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
  6. 【Python3网络爬虫开发实战】3.1.2-处理异常
  7. webpack4.0各个击破(8)—— tapable篇
  8. 废旧手机屏幕做单片机显示屏_ipadmini显示屏拆解,一探究竟
  9. 开启ntp_飒,NTP时钟服务器在银行大楼系统方案
  10. ubuntu更改mysql编码格式_Ubuntu修改mysql编码格式