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

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

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

gentos 执行sh文件_linux定时自动清理日志文件相关推荐

  1. shell命令删除昨日的日志_linux定时自动清理日志文件

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

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

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

  3. linux syslog 删除文件_Linux不小心删除日志文件syslog如何恢复

    系统使用久了需要对日志文件的内容进行清理,但有时因为粗心而将日志文件给删除了,而不是清除日志内容,遇到这种情况该如何处理呢?其实删除的日志文件syslog是可以恢复的,随小编来看看吧. 下面以Unbu ...

  4. linux syslog 删除文件_Linux不小心删除日志文件syslog怎么办?

    系统使用久了需要对日志文件的内容进行清理,但有时因为粗心而将日志文件给删除了,而不是清除日志内容,遇到这种情况该如何处理呢?其实删除的日志文件syslog是可以恢复的,随小编来看看吧. 下面以Unbu ...

  5. linux syslog 删除文件_Linux不小心删除日志文件syslog的解决方法

    大家都知道.系统使用久了需要对日志文件的内容进行清理,但有时因为粗心而将日志文件给删除了,而不是清除日志内容,遇到这种情况该如何处理呢?其实删除的日志文件syslog是可以恢复的,随U大侠小编来看看L ...

  6. Linux服务器定时清理日志文件、Linux cron定时任务

    文章目录 1. 准备工作 2. 脚本实现 2.1 执行命令准备 2.2.Linux 下创建定时任务-crontab 2.2.1.crontab 常用命令 2.2.2 命令行操作 3.附甜点 cron校 ...

  7. Unity自动清理空文件夹

    Unity 自动清理空文件夹 因为项目管控用的是Git,没法上传空文件夹.但是Unity又会对空文件夹生成相应的meta文件.导致Git提交的时候会提交这些meta文件.当项目中其他人拉下来的时候Un ...

  8. w ndows7如何清理垃圾,windows7系统下在关机时如何自动清理垃圾文件

    如何让win7电脑关机时自动删除桌面文件夹?很多用户有习惯在关机的时候有时候都会选择清理一下系统的垃圾文件,不过会偶尔在关机的时候忘记了清理文件夹了,那么在windows7操作系统下有没有好的方法可以 ...

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

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

最新文章

  1. Android Socket编程
  2. java的引用传递_Java的值传递和引用传递
  3. 关于MySQL的各种总结
  4. python3.7.2怎么使用win7_Win7同时安装Python2和Python3的配置
  5. openai-gpt_您可以使用OpenAI GPT-3语言模型做什么?
  6. 是否可以改变 宏的值_给女人的建议:当父母不同意你的男朋友,可以尝试六个方法...
  7. JavaScript入门几个概念
  8. 科技部部长:不唯论文,不是讲不要论文
  9. 解读顶会CIKM‘21 Historical Inertia论文
  10. matlab论坛真不活跃,MATLAB中文论坛常见问题归纳
  11. scrapy实例三 【豆瓣电影Top250】
  12. 【程序源代码】小电影小程序
  13. h3cmsr830series说明书_H3C MSR830路由器怎么设置?
  14. 图解通信原理与案例分析-2:如何用电信号来表示和传输0和1,远远比我们想象的要复杂得多
  15. 四层负载均衡 动静分离和资源分离 Rewrite rewrite伪静态实例
  16. 从全球最大同性交友网站抄了一份不一样的2048小游戏
  17. GTC2019大会的部分总结
  18. LAMP详细架构过程
  19. 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字
  20. Java实现 LeetCode 764 最大加号标志(暴力递推)

热门文章

  1. java-弹簧布局(自适应窗口)
  2. 怀旧服开新服务器消息,怀旧服B测已经开启 全新内容爆料汇总
  3. c语言中异或指令,C语言总结之异或运算的一些特性及巧妙应用
  4. python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
  5. MySQL windows安装
  6. C++学习之路(一)
  7. 二叉树的一些leetcode题目+python(c++)
  8. 键盘上的反引号怎么打
  9. 安卓逆向_9 --- log 插桩、Toast 弹窗、smali代码编写和植入 ( 好搜小说 )
  10. Spring Data JPA 从入门到精通~AliDruidDataSource的配置