shell脚本怎么生成运行日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本怎么生成运行日志相关的知识,希望对你有一定的参考价值。
麻烦问一下,怎样才能在运行一个shell脚本的同时生成这个脚本的运行日志,且日志名称为脚本运行当天的日期,并且日志内也记录时间,例如几点几分出了问题、脚本的运行情况。求大神传授!!
参考技术A 自己写的脚本调用的日志打印函数,供参考在脚本开头的工作
定义日志文件LOGFILE
定义日志序列号文件_LOGSEQ
定义日志函数
log()
#检查是否存在日志文件,如果存在,则检查文件是否过大(20M)
#过大时,切换文件,并将目前的日志序列号保存在_LOGSEQ中。
if [ -f $LOGFILE ];then
LogFileLen=`ls -l $LOGFILE | awk 'print $5'`
if [ $LogFileLen -gt 20971520 ]; then
if [ -f $_LOGSEQ ] ; then
_OrgSeq="`cat $_LOGSEQ`"
if [ $_OrgSeq -gt 98 ];then
LogFileSeq=0
else
LogFileSeq=`expr $_OrgSeq + 1`
fi
else
LogFileSeq=0
fi
echo "$LogFileSeq" > $_LOGSEQ
mv $LOGFILE $LOGFILE.$LogFileSeq
fi
fi
_LogInfo=$1
echo `date +20'%y-%m-%d %H:%M:%S'`" $_LogInfo " >> $LOGFILE 2>&1
需要打日志时调用log函数即可本回答被提问者采纳
如何将shell脚本变为可执行文件
方法一、可以使用gzexe命令直接将shell脚本变成可执行文件,命令为gzexe 后面接要处理的shell文件名。
加密后,用file查看文件类型已经为二进制文件了,执行都可以正常执行的。
方法二、可以使用shc命令将shell脚本变为可执行文件。
1、安装shc
2、加密脚本文件CFLAGS=-static shc -r -f t.sh
CFLAGS指明为static静态编译,因为默认生成的是动态库,在不同的系统可能运行不了。-r也是为了生成的脚本二进制可执行程序能在其它的电脑上运行,-f参数用于指明要编译的脚本文件。
3、正常执行加密后的脚本文件。
4、shc常用参数说明
-e date (指定过期日期)
-m message (指定过期提示的信息)
-f script_name(指定要编译的shell的路径及文件名)
-r Relax security. (可以在相同操作系统的不同系统中执行)
-v Verbose compilation(编译的详细情况)
给执行权限就可以了
./yourshell本回答被提问者和网友采纳 参考技术C chmod 777 ./helloworld.sh
以上是关于shell脚本怎么生成运行日志的主要内容,如果未能解决你的问题,请参考以下文章