curl 日志分析
Posted landaliming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了curl 日志分析相关的知识,希望对你有一定的参考价值。
curl 日志分析
1. 原样保存日志
1. 下载文件
curl -k -O 'https://xxx.tgz' 2>&1 | tee curl.log
命令解析
-k :允许连接到没有证书(H)的SSL站点
-O : 使用远程文件的文件名作为本地文件名
2>&1 :将标准错误重定向到标准输出
tee : 从标准输入读取并写入标准输出和文件
2. 分析日志文件
tail curl.log | tr "\\r" "\\n"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
3 8674k 3 301k 0 0 286k 0 0:00:30 0:00:01 0:00:29 287k
15 8674k 15 1386k 0 0 690k 0 0:00:12 0:00:02 0:00:10 691k
30 8674k 30 2650k 0 0 880k 0 0:00:09 0:00:03 0:00:06 882k
44 8674k 44 3834k 0 0 958k 0 0:00:09 0:00:04 0:00:05 958k
59 8674k 59 5135k 0 0 1022k 0 0:00:08 0:00:05 0:00:03 1022k
73 8674k 73 6337k 0 0 1055k 0 0:00:08 0:00:06 0:00:02 1218k
88 8674k 88 7652k 0 0 1090k 0 0:00:07 0:00:07 --:--:-- 1251k
100 8674k 100 8674k 0 0 1124k 0 0:00:07 0:00:07 --:--:-- 1281k
提取日志的最后一行
tail curl.log | tr "\\r" "\\n" | tail -n 1
删除重复的空格
tail curl.log | tr "\\r" "\\n" | tail -n 1 | tr -s " "
提取某一列
# 提取日志的第一列,获取下载的百分比
tail curl.log | tr "\\r" "\\n" | tail -n 1 | tr -s " " | cut -d " " -f 1
2. 将传输进度显示为进度条
1. 下载文件
curl -# -k -O 'https://xxx.tgz' 2>&1 | tr "\\r" "\\n" | tee curl.log
命令解析
-# : 将传输进度显示为进度条
-k :允许连接到没有证书(H)的SSL站点
-O : 使用远程文件的文件名作为本地文件名
2>&1 :将标准错误重定向到标准输出
tr "\\r" "\\n" : 将文本中的"\\r"替换为"\\n"
tee : 从标准输入读取并写入标准输出和文件
2. 分析日志文件
0.0%
1.4%
# 1.6%
## 2.9%
### 4.2%
##### 7.9%
#################### 28.8%
########################### 37.5%
##################################### 52.4%
############################################ 61.7%
########################################################## 80.6%
###################################################################### 98.3%
######################################################################## 100.0%
获取下载进度
tail curl.log -n 1 | tr -s " " | cut -d " " -f 2
以上是关于curl 日志分析的主要内容,如果未能解决你的问题,请参考以下文章
Nginx request line 换行导致的 400 异常分析