tailf日志脚本,观察最新日志
脚本大概含义:在某个指定路径下,寻找最新的日志文件,然后tailf观察
普通版
#!/bin/bash
SELF_LOG_PATH='/home/zf/track_trip_kafka/logs/debug/'
SELF_FILE_NAME=$(find $SELF_LOG_PATH -type f -atime 0 -name '*log' -printf '%f\n' | sort -r | head -1)
tailf $SELF_LOG_PATH$SELF_FILE_NAME
传参版
#! /bin/bash
# 功能 查看最新日志
# 参数 p
# 值 d:debug/i:info/w:warn/e:error
# 查看最后20条debug日志 ./tailf_log.sh -p d 20
BASE_PATH='/home/zf/track_trip_kafka/logs/'
if [[ ! -n $1 ]];then
echo -e "\e[1;32m功能\t\t查看最新日志\n参数\t\tp\n值\t\td:debug/i:info/w:warn/e:error\n举例\t\t./tailf_log.sh -p d 20(default 100)\e[0m"
exit 1
else
while getopts ":p:" opt
do
case $opt in
p)
# echo "参数a的值$OPTARG"
if [[ ! -n $OPTARG ]];then
echo -e "\e[1;31m没有传递参数\e[0m"
elif [[ 'd' == $OPTARG ]];then
LOG_PATH=$BASE_PATH'debug/'
elif [[ 'i' == $OPTARG ]];then
LOG_PATH=$BASE_PATH'info/'
elif [[ 'w' == $OPTARG ]];then
LOG_PATH=$BASE_PATH'warn/'
elif [[ 'e' == $OPTARG ]];then
LOG_PATH=$BASE_PATH'error/'
else
echo -e "\e[1;31m未知参数\e[0m"
fi
FILE_NAME=$(find $LOG_PATH -type f -atime 0 -name '*log' -printf '%f\n' | sort -r | head -1)
if [[ -n $3 ]];then
tailf -$3 $LOG_PATH$FILE_NAME
else
tailf -100 $LOG_PATH$FILE_NAME
fi
;;
?)
echo -e "\e[1;31m未知参数\e[0m"
exit 1
;;
esac
done
fi