大连辰熙大厦做网站,实用软件推荐,怎么创建图片链接,长沙好的seo外包公司文章目录 获取ping的时延数据并分析网络情况|、||、、辨析teetailkillall 获取ping的时延数据并分析网络情况
网络情况经常让我们头疼#xff0c;每次都需要手动在终端ping太麻烦了#xff0c;不如写个脚本ping并将数据带上时间戳存入文件#xff0c;然后也… 文章目录 获取ping的时延数据并分析网络情况|、||、、辨析teetailkillall 获取ping的时延数据并分析网络情况
网络情况经常让我们头疼每次都需要手动在终端ping太麻烦了不如写个脚本ping并将数据带上时间戳存入文件然后也可以分析哪个时间段网络比较差。
创建一个demo.sh文件
#!/bin/bash
# 清理日志
net_path./network/# 目录存在删除修改时间为1天前的文件
if [ -d ${net_path} ]; then
echo start delete log 1 days ago...find ${net_path}/* -name *.txt -mtime 1 -exec rm -rf {} \;
echo end delete log ...
fioutput_file./network/output.txt
# 设置目标主机
target_hostbaidu.com# 定义函数获取当前时间戳
get_timestamp() {date %Y-%m-%d %H:%M:%S
}# 循环执行ping命令
while true; do# 获取当前时间戳timestamp$(get_timestamp)# 执行ping命令并抓取延迟时间ping_result$(ping -c 1 $target_host | grep time | awk -F time {print $2} | cut -d -f 1)# 输出带有时间戳的ping结果echo $timestamp - Ping: $ping_result msecho $timestamp - Ping: $ping_result ms $output_file# 等待1秒后继续执行sleep 1
done时延数据会存入output.txt中然后也会自动删除前一天的文件。
最后可将txt导入excel生成图表看什么时候网络较差 更新后
#!/bin/bash
net_path./network/
target_hostbaidu.com # need config# if folder exist
if [ ! -d $net_path ]; thenmkdir -p $net_pathecho folder not exist: $net_path
elseecho folder exist: $net_path
fi# get timestamp
get_timestamp() {date %Y-%m-%d %H:%M:%S
}# autoclean
if [ -d ${net_path} ]; then
echo start delete log 1 days ago...find ${net_path}/* -name *.txt -mtime 0 -exec rm -rf {} \;
echo end delete log ...
fi# get ping value
filename_prefix${net_path}ping
timestamp$(get_timestamp)
filename${filename_prefix}_${timestamp}.txtwhile true; doping_result$(ping -c 1 $target_host | grep time | awk -F time {print $2} | cut -d -f 1)echo $timestamp - Ping: $ping_result ms # displayecho $timestamp - Ping: $ping_result ms $filename # logsleep 1
done|、||、、辨析
竖线‘|’在linux中是管道符的意思将‘|’前面命令的输出作为’|后面的输入
双竖线‘||’用双竖线‘||’分割的多条命令执行的时候遵循如下规则如果前一条命令为真则后面的命令不会执行如果前一条命令为假则继续执行后面的命令
同时执行多条命令不管命令是否执行成功
可同时执行多条命令当碰到执行错误的命令时将不再执行后面的命令。如果一直没有错误的则执行完毕。
用的时候先记住‘|’是管道符是并行执行‘||’和分别是他们的进阶版。
tee
tee是一种文件管理命令tee命令用于读取标准输入的数据并将其内容输出成文件。如
tee 1.txt
ls -l | tee 2.txt可用于打印终端输出和日志等。
tail
tail 命令可用于查看文件的内容有一个常用的参数-f常用于查阅正在改变的日志文件。如
tail 1.txt
tail -f 1.txt可用于查看日志文件变化。
killall
kill 命令杀死指定进程 PID需要配合 ps 使用而 killall 直接对进程对名字进行操作更加方便。kill后常跟PID代号而killall后常跟进程名。如
kill -9 8178
killall -9 bash
killall -9 roscore
killall -9 rosmaster可用于退出进程。
以上。