随笔-shell-日志处理
日志分析1
view
统计请求时间分布: egrep --no-filename '^2023-10-09 17:2[3-4].*_WsServerCallBack.*Sending message' $(ls -rt cs*log | tail -n 500) -A 3 | grep forwardMsg -B 2 | egrep '^2023' | cut -c12-19 | awk '{x[$1]++;} END{for(i in x) print(i ":" x[i])}' | sort
> echo "2023-10-09 17:24:07.857568" | cut -c12-19 => 17:24:07
日志分析2
view
# 使用 bash mlog-save.sh "2023-10-10 09:00:00"
[ "$1" != "" ] && {
dir_name="mlog_${1}"
dir_name=${dir_name/ /-}
mkdir $dir_name
echo "FILTER LOGS..."
log_start=$(egrep -l "^$1" $(ls -rt cs*log | tail -n 500) | head -n 1)
[ "$log_start" != "" ] && {
echo "FILTER LOGS SUCCESS, SAVE LOG"
cp -a $(ls -rt cs*log | egrep -w "^${log_start}$" -A 500) $dir_name/
cd $dir_name || exit
log_list=$(ls -rt cs*log)
echo "$log_list" > log-list.txt
echo -e "$dir_name:\n$log_list\n"
[ "$log_list" != "" ] && {
first_line=$(egrep -nr -m 1 "^$1" $log_list | head -n 1)
[ "$first_line" != "" ] && {
first_line_file_name=$(awk -F':' '{print $1}' <<< "$first_line")
first_line_start_num=$(awk -F':' '{print $2}' <<< "$first_line")
[ "$first_line_file_name" != "" ] && {
[ $first_line_start_num -gt 1 ] && {
echo "trim log: sed -i \"1,${first_line_start_num}d\" $first_line_file_name"
sed -i "1,${first_line_start_num}d" $first_line_file_name
}
}
echo "数据统计:"
# ...
}
}
}
}
本文来自博客园,作者:LiYanbin,转载请注明原文链接:https://www.cnblogs.com/stellar-liyanbin/p/17666973.html
分类:
笔记-shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY