`

shell格式化日志输出

 
阅读更多

#!/bin/ksh 

 

init_variables()

{

  if [ -s $HOME/.profile ]

  then

    . $HOME/.profile

  fi

  if [ -s $HOME/.bash_profile ]

  then

   . $HOME/.bash_profile

  fi

 

  if [ `uname | tr '[A-Z]' '[a-z]'` = "linux" ]

  then    

    echo_cmd='echo -e'

    unalias ls 2>/dev/null 1>&2

    awk_cmd='awk --posix'

  else

     echo_cmd='echo'

     awk_cmd='awk'

  fi

 

  log_file=${dir_name}/${script_name}.log

  log_cmd_info="eval $echo_cmd \"[$dir_name/$script_name]\" @\`date +\"%Y%m%d %T\"\` [info]:"

  log_cmd_error="eval $echo_cmd \"[$dir_name/$script_name]\" @\`date +\"%Y%m%d %T\"\` [error]:"

}

 

main_fun()

{

  ${log_cmd_info} "this is info message." | tee -a ${log_file}

  ${log_cmd_error} "this is error message." | tee -a ${log_file}

}

 

########################################

# main entrence

########################################

 

#1.get filename

script_name=`basename $0`

dir_name=`dirname $0`

 

#2.run init_variables

init_variables;

 

#3.run main_fun

main_fun;

 

#4.exit

exit 0

 

########################################

# end of script

######################################## 

分享到:
评论

相关推荐

    SHELL日志功能(log4sh)

    用户可以根据实际需求定制日志输出格式,如时间戳、进程ID、线程ID、日志级别、模块名、日志消息等元素,使日志更具可读性和分析价值。例如,可以设置成“[日期] [级别] [模块名]: [消息]”的格式。 3. **日志输出...

    shell脚本按当前日期输出日志的实现

    本篇文章将详细介绍如何利用shell脚本来根据当前日期输出日志。 首先,让我们了解shell脚本的基本元素。一个简单的shell脚本通常包含变量定义、命令执行和控制结构。在描述的示例中,我们看到一个简单的脚本片段: ...

    shell学习日志总结

    #### 格式化输出 - **十六进制转换**:`printf("%x\n", $0)`,将数值转换为十六进制形式输出。 - **左对齐输出**:`printf("%-15s%s\n", $1, $2)`,使第一列左对齐,宽度为15个字符,第二列紧随其后。 ### Sed 文本...

    shell的输入与输出

    以上脚本首先使用read命令从键盘获取用户名和年龄,然后通过echo命令将格式化的信息输出到屏幕,同时使用重定向操作将相同的信息追加到`user_log.txt`文件中,实现了数据的屏幕显示和持久化存储。 总之,shell的...

    shell脚本实现分日志级别输出的方法

    在编写shell脚本时,...通过以上步骤,我们已经构建了一个功能完善的shell脚本日志系统,包括设定日志级别、颜色编码以及日志格式化。这样的日志系统不仅有助于调试,还能使日志更易于阅读和分析,从而提升开发效率。

    shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

    在IT行业中,shell脚本是一种常用的自动化工具,尤其在服务器管理和运维中发挥着重要作用。本文将详细介绍如何使用shell脚本来实现系统CPU资源的自动监测,并在CPU资源异常升高时自动打印应用线程日志文件。 首先,...

    shell 脚本抓取android logcat和kernel log,以及删除旧的log

    - `-v time`:设置日志输出格式为时间戳。 - `-b all`:指定抓取所有日志缓冲区(main、radio、events)。 - `-d`:打印日志后立即退出,不持续监控。 - `> logcat.log`:将输出重定向到名为`logcat.log`的文件中。 ...

    Java项目linux启动脚本以及日志分割安装软件

    5. **日志输出**:设置标准输出和错误输出重定向到特定的日志文件,便于后期分析和故障排查。 6. **停止命令**:通常通过发送信号(如`SIGTERM`)给Java进程来优雅地关闭服务。 了解了启动脚本的基本结构后,我们...

    远程控制主机的SHELL自动化管理 案例

    SHELL脚本作为Linux/Unix系统中的强大工具,可以实现对远程主机的自动化控制,尤其在处理定时任务和远程执行命令时尤为便捷。本案例将探讨如何利用SHELL脚本来定时获取远程主机上的Perl脚本执行结果,并将其记录到...

    shell demo及编程pdf

    6. **文本处理**:使用正则表达式和命令如`grep`, `sed`, `awk`进行文本搜索、替换和格式化。 7. **错误处理**:通过`set -e`确保脚本在遇到错误时停止执行,提高脚本的健壮性。 8. **脚本调试**:使用`set -x`...

    学习shell的入门资料(shell十三问+shell基础十二篇)doc版

    - **grep/awk/sed**:强大的文本处理工具,常用于搜索、替换和格式化文本。 3. **Shell脚本结构** - **Shebang**:脚本开头的`#!/bin/bash`指定解释器。 - **变量声明**:使用`declare`或`export`来声明变量,后...

    shell脚本编程,ppt格式

    Shell脚本编程是一种在Linux和Unix系统中广泛使用的自动化任务执行工具。它是通过Bash(Bourne-Again SHell)或其他兼容的shell环境来编写的一系列命令集合,可以实现批处理、文件操作、系统管理等多种功能。对于...

    shell 脚本 实例 shell 脚本 实例

    2. **文本处理**:利用`grep`, `sed`, `awk`等命令对文本进行搜索、替换、格式化等操作。 3. **系统信息获取**:使用`date`, `who`, `ps`, `top`等命令获取系统状态和进程信息。 4. **权限管理**:涉及`chmod`, `...

    shell编程--用户信息管理(模拟).doc

    * 使用 awk 语句可以对文件内容进行格式化和处理,例如 `awk '{print $1,$2}' $dataSource`。 知识点七:Linux 重要命令 * 在 shell 脚本中,可以使用 chmod 语句来更改文件权限,例如 `chmod +x menu.sh`。 * ...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    23 个非常实用的 Shell 脚本实例.doc

    在实际工作中, Shell 脚本可以应用于各种自动化任务,例如文件备份、日志记录、网络监控等等。 Shell 脚本的编程技术也可以应用于其他领域,例如数据分析、机器学习等等。 Shell 脚本是一种强大的工具,能够帮助...

    linux shell 编程指南

    此外,Shell提供了丰富的内置命令,如`echo`用于打印文本,`read`用于从标准输入读取数据,`printf`提供更灵活的格式化输出,`test`或`[ ]`用于进行逻辑判断,以及`case`语句进行多条件分支。掌握这些内置命令能大大...

    Shell脚本编程100例

    `tar`命令用于打包压缩文件,`date`命令获取当前日期,`%Y%m%d`格式化日期。`crontab -e`编辑cron定时任务,例子中每周五3点进行日志备份。 4. **一键部署LNMP**:`yum`是包管理器,用于安装和管理软件包。这里使用...

Global site tag (gtag.js) - Google Analytics