广告
返回顶部
首页 > 资讯 > 操作系统 >shell日志颜色处理及清理系统日志的方法
  • 436
分享到

shell日志颜色处理及清理系统日志的方法

shell日志颜色shell颜色 2022-06-04 22:06:19 436人浏览 八月长安
摘要

记录一下shell日志颜色处理 _COLORS=${BS_COLORS:-$(tput colors 2>/dev/null || echo 0)} __detect_color_support() { #

记录一下shell日志颜色处理


_COLORS=${BS_COLORS:-$(tput colors 2>/dev/null || echo 0)}
__detect_color_support() {
  # shellcheck disable=SC2181
  if [ $? -eq 0 ] && [ "$_COLORS" -gt 2 ]; then
    RC='\033[1;31m'
    GC='\033[1;32m'
    BC='\033[1;34m'
    YC='\033[1;33m'
    EC='\033[0m'
  else
    RC=""
    GC=""
    BC=""
    YC=""
    EC=""
  fi
}
__detect_color_support
echoerror() {
  printf "${RC} * ERROR${EC}: %s\\n" "$@" 1>&2;
}
echoinfo() {
  printf "${GC} * INFO${EC}: %s\\n" "$@";
}
echowarn() {
  printf "${YC} * WARN${EC}: %s\\n" "$@";
}

下面看下shell清理系统日志

1.设置日志峰值,到达则删除
2.定时检测,crontab添加定时任务
3.后台挂载 : ./xx.sh &

工作脚本:


#! /bin/sh
#日志目录及限定大小
workdir="/var/*.log"
maxsize=100
#搜索最老文件,不加目录默认的本目录里边的文件 r倒序输出 t时间 head -n1取第一行 awk命令括号$1位文件名 管道连接
oldfile(){
 oldfile=`ls $workdir -t 2>/dev/null| head -n1 | awk '{printf $1}'`
}
clear_old_log(){
 if [ ! $oldfile ]
 then
  #echo "日志不存在" 1>/dev/null
  return 0
 fi
  while true;
 do
  oldfile
  if [ ! $oldfile ]
  then
    return 0
  fi
  logsize=`du -ms $oldfile 2>/dev/null| awk '{printf $1}'` #m表示兆 k b
  if [ $logsize -gt $maxsize ]
  then
  str1="log"
  str2="err"
  if [[ $oldfile == *$str1* ]] 
  then
  pkill snake
  rm -rf $oldfile
   fi
   if [[ $oldfile == *$str2* ]]
   then
  service Mysql restart
  pkill snake
  rm -rf $oldfile
  fi
  else
  break
  fi
 done
}
testing(){
 
 while true;
 do
  workdir="/var/*.log"
  oldfile 
   clear_old_log
   workdir="/var/lib/mysql/*.err"
   oldfile
   clear_old_log
  done
}
testing
定时任务脚本:
#! /bin/sh
#a=`pgrep -f test1.sh|wc -l`
#if [ $(ps -ef|grep test.sh|wc -l) -gt 1 ]
if test $(pgrep -f test.sh|wc -l) -ge 1
 then
 exit
fi
cd /home/zxd/
./test.sh
下边这个带有日志时间加时间戳及系统负载检测:
#! /bin/bash
strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
  echo "包含"
else
  echo "不包含"
fi
#日志目录及限定大小
workdir="/var/*.log"
maxsize=100
#给文件加时间戳:函数里的变量必须在脚本函数后边跟着,这里$1不是命令行跟的参数,命令行的参数为脚本的$1
filetime(){
 a=$(date +%Y%m%d%H%M%S)
 A=$1.$(date +%Y%m%d%H%M%S)
 echo $A
}
filetime "/var/log"
#搜索最老文件,不加目录默认的本目录里边的文件 r倒序输出 t时间 head -n1取第一行 awk命令括号$1位文件名 管道连接
oldfile(){
 oldfile=`ls $workdir -rt 2>/dev/null| head -n1 | awk '{printf $1}'`
}
clear_old_log(){
 if [ ! $oldfile ]
 then
  echo "日志不存在" 1>/dev/null
  return 0
 fi
  while true;
 do
  oldfile
  if [ ! $oldfile ]
  then
  echo "日志不存在" 1>/dev/null
   return 0
  fi
  logsize=`du -bs $oldfile 2>/dev/null| awk '{printf $1}'`
  if [ $logsize -gt $maxsize ]
  then
  str1="log"
  str2="err"
  if [[ $oldfile == *$str1* ]] 
  then
  pkill snake
  rm -rf $oldfile
   fi
   if [[ $oldfile == *$str2* ]]
   then
  service mysql restart
  pkill snake
  rm -rf $oldfile
   fi
  else
  break
  fi
 done
}
testing(){
 echo "run"
 while true;
 do
  oldfile 
   clear_old_log
   echo "222"
   workdir="/var/lib/mysql/libmaster.err"
   oldfile
   clear_old_log
  done
}
disk=`df |grep /dev/mapper/fedora-root | awk '{printf $5}' | sed 's/%//g'`
echo "磁盘已用:%$disk"
memtotal=`cat /proc/meminfo |grep MemTotal |awk '{printf $2}'`
memfree=`cat /proc/meminfo |grep MemFree |awk '{printf $2}'`
used=$((100- memfree*100/memtotal))
echo "内存已用:%$used"
echo "exit"
testing

总结

以上所述是小编给大家介绍的shell日志颜色处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

--结束END--

本文标题: shell日志颜色处理及清理系统日志的方法

本文链接: https://www.lsjlt.com/news/19844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell日志颜色处理及清理系统日志的方法
    记录一下shell日志颜色处理 _COLORS=${BS_COLORS:-$(tput colors 2>/dev/null || echo 0)} __detect_color_support() { #...
    99+
    2022-06-04
    shell日志颜色 shell 颜色
  • 使用shell怎么清理系统日志
    使用shell怎么清理系统日志?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。记录一下shell日志颜色处理_COLORS=${BS_COLORS:-$(tput ...
    99+
    2023-06-09
  • Win7系统日志的清理的操作方法【系统天地】
    电脑系统在运行时会产生系统日志,它可以记录系统中硬件、软件和系统的各种问题信息,可以通过它检索错误发生原因。但是时间长了后,这类日志文件就会积压,导致系统存储变少,影响运行速度,这个时候就需要定期清理一下。下面小编就教大家Win7系统如何清...
    99+
    2023-06-05
  • clickhouse系统表日志清理方式详解
    目录简介清理清理方式实际操作方案选择删除数据查看任务执行情况单机操作设置TTL总结简介 clickhouse会将查询日志,度量日志和堆栈采集日志记录下来,存储到自身数据库的system库中, 分别是query_log,...
    99+
    2023-02-15
    clickhouse系统表日志清理 clickhouse日志清理
  • vps日志清理的方法是什么
    清理VPS日志的方法可以根据不同的操作系统和日志类型而有所不同。以下是一些常见的方法:1. Linux系统:- 使用logrotat...
    99+
    2023-08-19
    vps
  • spring boot整合log4j2及MQ消费处理系统日志的方法
    本文小编为大家详细介绍“spring boot整合log4j2及MQ消费处理系统日志的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot整合log4j2及MQ消费处理系统日志的方法”文章能帮助大家...
    99+
    2023-06-29
  • Springboot项目处理日志的方法
    本篇内容主要讲解“Springboot项目处理日志的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Springboot项目处理日志的方法”吧!如上图,每天会生成一个新的日志文件,然后日志进行...
    99+
    2023-06-20
  • mysql binlog日志的自动清理及手动删除的方法
    这篇文章主要介绍“mysql binlog日志的自动清理及手动删除的方法”,在日常操作中,相信很多人在mysql binlog日志的自动清理及手动删除的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-18
  • MySQL binlog日志乱码的处理方法
    这篇文章主要讲解了“MySQL binlog日志乱码的处理方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL binlog日志乱码的处理方法”吧!...
    99+
    2022-10-18
  • SpringAop日志找不到方法的处理
    SpringAop日志找不到方法 错误截图: 显示没有找到该方法,于是我找到对应的类和对应的方法: 这里我用了反射来获取方法名和参数: 错误打印的结果显示方法名获取没有错误,于...
    99+
    2022-11-12
  • mongodb 2.6.x 清理过大日志文件的方法
    一、日志清理步骤1.使用数据库命令rotate日志,分别登陆到mongod和mongos实例上# mongo --host localhost:27xxx MongoDB&nb...
    99+
    2022-10-18
  • Oracle 11g清理数据库历史日志的方法
    这篇文章主要介绍了Oracle 11g清理数据库历史日志的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 创建存放数据库待删除日志文...
    99+
    2022-10-18
  • mysql数据库日志清理的方法是什么
    MySQL数据库的日志清理有以下几种方法: 通过重启MySQL服务器来清理日志。当MySQL服务器重启时,会自动清理并重新生成日...
    99+
    2023-10-25
    mysql数据库
  • Oracle监听挂掉以及归档库日志满清理方法
    oracle数据监听挂了重启方法: --监听lsnrctl start --启动后稍有延时才能生效lsnrctl status lsnrctl s...
    99+
    2022-10-18
  • golang gorm错误处理事务及日志的使用方法
    这篇文章主要讲解了“golang gorm错误处理事务及日志的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang gorm错误处理事务及日志的使用方法”吧...
    99+
    2023-06-30
  • springboot整合log4j2及MQ消费处理系统日志示例
    目录前言1.添加相关jar依赖2.系统log4j2.xml配置3.添加处理日志的消息监听前言 当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处...
    99+
    2022-11-13
  • 清理MySQL 慢sql日志的方法 & flush log/table 注意事项
    方法一: 进入mysql,执行set global slow_query_log=0; 将慢sql日志删除或改名备份: rm -rf slow.log 或 mv slow.log slow.log_20230403 进入mysql,执行se...
    99+
    2023-09-21
    mysql sql 数据库
  • 数据库日志文件过大清理的方法有哪些
    这篇文章主要介绍“数据库日志文件过大清理的方法有哪些”,在日常操作中,相信很多人在数据库日志文件过大清理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库日志文...
    99+
    2022-10-18
  • Linux系统中使用logrotate来管理日志文件的方法
    本篇内容主要讲解“Linux系统中使用logrotate来管理日志文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中使用logrotate来管理日志文件的方法”吧!在Deb...
    99+
    2023-06-13
  • 如何在Java中处理Unix系统的路径日志?
    在Java中处理Unix系统的路径日志是一个常见的需求,特别是在处理大型系统的日志文件时。本文将介绍如何使用Java中的一些工具来处理Unix系统的路径日志。 首先,我们需要理解Unix系统路径的结构。Unix系统的路径是由斜杠分隔的一系列...
    99+
    2023-10-03
    unix 日志 path
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作