【博客701】shell实现保留网络现场:ping失败时执行mtr

shell实现保留网络现场:ping失败时执行mtr

场景

当我们网络出现抖动,到某个目的地ping不通时,我们想知道路径上哪里出现问题时可以在那时候执行mtr并保留下现场以供排查

实现:ping_and_mtr.sh

#!/bin/bash# 定义要ping的IP地址列表
ip_list=("192.168.1.1" "192.168.1.2" "192.168.1.3")# 设置结果文件名
result_file="mtr_results.txt"# 遍历IP列表,逐个进行ping和mtr测试
for ip in "${ip_list[@]}"; do# 尝试ping IP地址,如果成功则继续下一个ping -c 2 "$ip" > /dev/null 2>&1if [ $? -eq 0 ]; thenecho "$ip ping成功,跳过mtr"elseecho "$ip ping失败,执行mtr"# 保存mtr结果到文件echo "MTR测试结果: $ip" >> "$result_file"mtr -r "$ip" >> "$result_file"echo "---------------------" >> "$result_file"fi
done

设置一直运行:

打开终端,输入以下命令打开当前用户的 cron 配置文件:
crontab -e在文件末尾添加一行,设置定时任务。例如,每5分钟运行一次脚本:
*/5 * * * * /path/to/your/ping_and_mtr.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/66230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x86_64 ansible 源码编译安装

源码 GitHub - ansible/ansible: Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a languag…

js常用方法总结

1、slice 和 splice slice表示截取,slice(start,end),不改变原数组,返回新数组。 splice表示删除,splice(start,length,item),会改变原数组,从某个位置开始删除多个元素,并可以插入新的元素。…

2.4 关系数据库

思维导图: 前言: 这段话描述了“关系数据库”及其背后的理论基础。首先,我们来拆分这段话并逐步解释每部分。 关系数据库是采用关系模型作为数据组织方式的数据库。 这句话的关键是“关系模型”。关系模型是一种表示和操作数据库的理论模型…

操作系统清华同步笔记:定义概述+计算机内存和硬盘布局+启动流程顺序+中断、异常和系统调用

定义概述 从用户角度来看,操作系统是一个控制软件,用以管理应用程序,为应用程序提供服务,杀死应用程序等。从内部文件角度来看,操作系统是一个资源管理器,用以管理外设,分配资源。层次结构&…

命令行编译VS工程

先输入以下命令,因为命令出错了,就会弹出帮助,如下: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /help 反正就是Microsoft Visual Studio 的安装路径。 帮助界面如下&#xff1a…

Selenium如何用于编写自动化测试脚本?

Selenium如何用于编写自动化测试脚本?它提供了许多测试工具和API,可以与浏览器交互,模拟用户操作,检查网页的各个方面。下面是一些步骤,可以帮助你编写Selenium自动化测试脚本。 1、安装Selenium库和浏览器驱动程序 首…

core dump管理在linux中的前世今生

目录 一、什么是core dump? 二、coredump是怎么来的? 三、怎么限制coredump文件的产生? ulimit 半永久限制 永久限制 四、从源码分析如何对coredump文件的名字和路径管理 命名 管理 一些问题的答案 1、为什么新的ubuntu不能产生c…

java设计模式---策略模式

策略模式的定义 策略设计模式是一种行为设计模式。当在处理一个业务时,有多种处理方式,并且需要再运行时决定使哪一种具体实现时,就会使用策略模式。 策略模式的类图: 策略模式的实现 在支付业务中,有三种付款方式&…

RabbitMQ工作模式-工作队列

官网关于工作模式的解释地址:https://www.rabbitmq.com/getstarted.html Work Queue(工作队列) 生产者发消息,启动多个消费者来消费消息,每个消费者仅消费部分消息,可达到负载均衡的效果。 创建生产者 i…

使用docker、docker-compose部署微服务

使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和dockerfile文件2、编写docker-compose.yml文件3、docker-compose常用命令(1)、前…

Linux用户与组管理(01)(六)

目录 前言 一、用户管理 1、 概述 2、用户操作 总结 前言 今天学习的是新知识,Linux用户与组管理,刚开始就是简单的一些概念、命令等,今天学习的内容也都是重点哦!希望我们可以一起学习,共同发展和进步。 提示&#x…

linux 发行版中在容器内访问热插拔 U 盘的分区内容

前言 在 UOS 如何实现自动将 U 盘挂载到指定目录中?这篇文章中,我描述了 UOS 自动挂载 U 盘到指定目录的方式,现有的发行版处理逻辑大致相同。 当挂载位置确定后,容器内的业务逻辑要访问 U 盘分区中的内容,看上去只需…

【Linux】以太网协议以及MTU

以太网协议 数据链路层的功能以太网的数据格式MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对TCP协议的影响 数据链路层的功能 数据链路层的主要功能是:控制链路。包括数据链路的建立、链路的维护和释放。MAC寻址也是它的功能,寻址是指计算机网卡的MAC地…

二分图-染色法-dfs

1.判断一个图是否是二分图当且仅当图中不包含奇数环 2. dfs当前边为1 他的临边为2 看是否满足条件 3. 注意图有可能不是连通图 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays;public class BinaryG…

无涯教程-JavaScript - CUBERANKEDMEMBER函数

描述 CUBERANKEDMEMBER函数返回集合中的第n个或排序的成员。 使用此功能可返回一组中的一个或多个元素,如销售业绩最好的人或前十名的学生。 语法 CUBERANKEDMEMBER (connection, set_expression, rank, [caption])争论 Argument描述Required/OptionalconnectionThe name …

vscode搭建springboot开发环境

前言 idea好用到但是收money,eclipse免费但是界面有点丑,所以尝试使用vscode开发springboot 提前准备 安装jdk,jdk需要大于11 安装vscode 安装maven 安装插件 主要是下面的插件 Extension Pack for JavaSpring Boot Extension PackDepe…

【Java 基础篇】Java 数组使用详解:从零基础到数组专家

如果你正在学习编程,那么数组是一个不可或缺的重要概念。数组是一种数据结构,用于存储一组相同类型的数据。在 Java 编程中,数组扮演着非常重要的角色,可以帮助你组织、访问和操作数据。在本篇博客中,我们将从零基础开…

前端高性能渲染 — 虚拟列表

虚拟列表,实际上就是在首屏加载的时候,只加载可视区域内需要的列表项,当滚动发生时,动态通过计算获得可视区域内的列表项,并将非可视区域内存在的列表项删除。该技术是解决渲染大量数据的一种解决方法。 实现虚拟列表&…

编译Micropython固件For树莓派Raspberry Pi Pico

1. 前言 由于想把自己编写的py文件打包的固件中,所以记录下如何编译micropython固件和打包。 2. 编译 最简单的方式就是在你的树莓派上进行,我用的是RP Pi2 下载所需文件: $ cd ~/ $ mkdir pico $ cd pico $ git clone -b pico https://gi…

THIRD PROGRAMMING CONTEST 2023 ALGO(AtCoder Beginner Contest 318)

THIRD PROGRAMMING CONTEST 2023 ALGO&#xff08;AtCoder Beginner Contest 318&#xff09; A - Full Moon 思路&#xff1a;模拟 直接模拟即可&#xff0c;找到以m开始每一次可以调p的距离终点为n的次数 #include<bits/stdc.h> using namespace std; int main(){in…