我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

记录一下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日志颜色处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

使用shell怎么清理系统日志

使用shell怎么清理系统日志?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。记录一下shell日志颜色处理_COLORS=${BS_COLORS:-$(tput color
2023-06-09

Win7系统日志的清理的操作方法【系统天地】

电脑系统在运行时会产生系统日志,它可以记录系统中硬件、软件和系统的各种问题信息,可以通过它检索错误发生原因。但是时间长了后,这类日志文件就会积压,导致系统存储变少,影响运行速度,这个时候就需要定期清理一下。下面小编就教大家Win7系统如何清
2023-06-05

clickhouse系统表日志清理方式详解

目录简介清理清理方式实际操作方案选择删除数据查看任务执行情况单机操作设置TTL总结简介clickhouse会将查询日志,度量日志和堆栈采集日志记录下来,存储到自身数据库的system库中, 分别是query_log,query_thread
2023-02-15

sqlserver日志清理的方法是什么

在 SQL Server 中清理日志的方法有以下几种:使用备份和恢复操作:通过定期备份数据库和日志文件,可以清理事务日志。备份完成后,可以通过缩减数据库日志文件的大小来释放空间。使用DBCC SHRINKFILE命令:可以使用该命令来收缩数
sqlserver日志清理的方法是什么
2024-04-09

vps日志清理的方法是什么

清理VPS日志的方法可以根据不同的操作系统和日志类型而有所不同。以下是一些常见的方法:1. Linux系统:- 使用logrotate工具:logrotate是一个用于管理日志文件的工具。它可以定期轮转、压缩和删除日志文件,以防止其过大。您
2023-08-19

sqlserver日志清理的方法有哪些

SQL Server 日志清理方法可以通过以下几种方式来实现:使用SQL Server Management Studio (SSMS):可以通过SSMS中的任务计划向导,设置定期的日志清理任务来删除过期的日志文件。使用SQL Server
sqlserver日志清理的方法有哪些
2024-04-15

spring boot整合log4j2及MQ消费处理系统日志的方法

本文小编为大家详细介绍“spring boot整合log4j2及MQ消费处理系统日志的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot整合log4j2及MQ消费处理系统日志的方法”文章能帮助大家解决疑惑,下面跟着小
2023-06-29

Springboot项目处理日志的方法

本篇内容主要讲解“Springboot项目处理日志的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Springboot项目处理日志的方法”吧!如上图,每天会生成一个新的日志文件,然后日志进行
2023-06-20

mysql数据库日志清理的方法是什么

MySQL数据库的日志清理有以下几种方法:通过重启MySQL服务器来清理日志。当MySQL服务器重启时,会自动清理并重新生成日志文件。这种方法比较简单,但需要重启数据库服务,可能会造成数据库服务暂时不可用。使用MySQL的命令行工具或图形界
2023-10-25

sqlserver数据库日志清理的方法是什么

SQL Server数据库日志清理的方法包括:使用SQL Server Management Studio (SSMS):可以通过SSMS中的图形用户界面来清理数据库日志。在SSMS中,右键点击数据库,选择任务 -> 截断日志来清理日志。使
sqlserver数据库日志清理的方法是什么
2024-04-09

mysql慢日志文件清理的方法是什么

清理MySQL慢日志文件的方法如下:登录MySQL数据库,使用以下命令查看当前慢查询日志文件的路径:show variables like 'slow_query_log_file';关闭慢查询日志功能,使用以下命令将参
mysql慢日志文件清理的方法是什么
2024-04-15

golang gorm错误处理事务及日志的使用方法

这篇文章主要讲解了“golang gorm错误处理事务及日志的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang gorm错误处理事务及日志的使用方法”吧!1. 高级用法1.
2023-06-30

编程热搜

目录