返回顶部
首页 > 资讯 > 操作系统 >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://lsjlt.com/news/19844.html(转载时请注明来源链接)

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

猜你喜欢
  • 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日志清理
  • 怎么在Win7系统中清理系统日志
    怎么在Win7系统中清理系统日志?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。详细如下:右键点:我的电脑(计算机),再点:管理。点击:事件查看器,将其打开;点击:windo...
    99+
    2023-06-07
  • vps日志清理的方法是什么
    清理VPS日志的方法可以根据不同的操作系统和日志类型而有所不同。以下是一些常见的方法:1. Linux系统:- 使用logrotat...
    99+
    2023-08-19
    vps
  • sqlserver日志清理的方法有哪些
    SQL Server 日志清理方法可以通过以下几种方式来实现: 使用SQL Server Management Studio (...
    99+
    2024-04-15
    sqlserver
  • sqlserver日志清理的方法是什么
    在 SQL Server 中清理日志的方法有以下几种: 使用备份和恢复操作:通过定期备份数据库和日志文件,可以清理事务日志。备份...
    99+
    2024-04-09
    sqlserver
  • spring boot整合log4j2及MQ消费处理系统日志的方法
    本文小编为大家详细介绍“spring boot整合log4j2及MQ消费处理系统日志的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot整合log4j2及MQ消费处理系统日志的方法”文章能帮助大家...
    99+
    2023-06-29
  • Springboot项目处理日志的方法
    本篇内容主要讲解“Springboot项目处理日志的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Springboot项目处理日志的方法”吧!如上图,每天会生成一个新的日志文件,然后日志进行...
    99+
    2023-06-20
  • SQLServer 清理日志的实现
    本文以sql2012为例 第一步,(查询日志中文件名和大小): USE 数据库名 GO SELECT file_id, name,size,* FROM sys.database_files; 查询结果如上图所...
    99+
    2023-01-12
    SQLServer清理日志 SQLserver清除日志
  • SQLServer清理日志的实现
    本文以sql2012为例 第一步,(查询日志中文件名和大小): USE 数据库名 GO SELECT file_id, name,size,* FROM sys.databa...
    99+
    2023-01-12
    SQLServer 清理日志 SQL server清除日志
  • SQL代理错误日志处理方法
    这篇文章主要讲解了“SQL代理错误日志处理方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL代理错误日志处理方法”吧!SQL Server代理是所有实时数据库的核心。代理有很多不明显的...
    99+
    2023-06-20
  • Linux syslog 系统日志管理
    Linux syslog 系统日志管理===============================================================================rsysl...
    99+
    2024-04-02
  • MySQL清理日志的方式有哪些
    MySQL清理日志的方式有以下几种方法: 利用MySQL命令清理日志:可以使用类似于PURGE BINARY LOGS和FLUS...
    99+
    2024-04-09
    MySQL
  • mysql binlog日志的自动清理及手动删除的方法
    这篇文章主要介绍“mysql binlog日志的自动清理及手动删除的方法”,在日常操作中,相信很多人在mysql binlog日志的自动清理及手动删除的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2024-04-02
  • MySQL binlog日志乱码的处理方法
    这篇文章主要讲解了“MySQL binlog日志乱码的处理方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL binlog日志乱码的处理方法”吧!...
    99+
    2024-04-02
  • SpringAop日志找不到方法的处理
    SpringAop日志找不到方法 错误截图: 显示没有找到该方法,于是我找到对应的类和对应的方法: 这里我用了反射来获取方法名和参数: 错误打印的结果显示方法名获取没有错误,于...
    99+
    2024-04-02
  • 如何理解Linux的系统日志
    本篇内容主要讲解“如何理解Linux的系统日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Linux的系统日志”吧!syslogd & klogd   --...
    99+
    2023-06-13
  • mysqlbinlog日志自动清理及手动删除
    当开启MySQL数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间。 mysql-bin.000001mysql-bin.000002...
    99+
    2023-01-13
    mysql binlog自动清理 mysql binlog手动删除
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作