美文网首页
通过crontab监测网络状况并自动修复重启

通过crontab监测网络状况并自动修复重启

作者: 湘港记者 | 来源:发表于2020-07-14 20:41 被阅读0次

背景

管理的服务器经常因为上级路由器故障导致固定IP无法访问,每次均通过肉身去机房重启解决机器/网络服务解决,非常麻烦,尤其是在假期。因此决定利用crontab和shell脚本定期对网络情况进行监测,如果出现故障则对可能的问题进行修复并重启网络。

脚本

#!/bin/bash
ping www.baidu.com -c 1 >/dev/null
if [ $? -ne 0 ];then
# reset DNS
bash -c 'echo nameserver 166.111.8.28 > /etc/resolv.conf'
# restart network
# /etc/init.d/networking restart
service network-manager restart
# doing other things
bash /home/dev/login.sh
# loging
echo `date` network restart
else
echo `date` network works fine
fi

crontab创建定时任务

因为重启网络服务以及修改DNS均需要sudo权限,因此不是创建用户定时任务,而是在全局定时任务/etc/crontab中创建root用户的定时任务。

sudo vim /etc/crontab

在后面添加:

*/30 * * * *  root  /PATH/TO/SHELL/auto_restart_network.sh >> /PATH/TO/LOGS 2>&1

这样每隔30分钟就会执行监测脚本,如果出现网络故障则会重新配置DNS ==> 重启网络服务 ==> 登录(或其他操作)==> 记录日志。

相关文章

  • 通过crontab监测网络状况并自动修复重启

    背景 管理的服务器经常因为上级路由器故障导致固定IP无法访问,每次均通过肉身去机房重启解决机器/网络服务解决,非常...

  • 树莓派Wi-Fi断线重连

    实现 WiFi 断线自动重连。原理是用 Python 监测网络是否断线,如果断线则重启网络服务。 配置无线网连接 ...

  • nodejs supervisor

    node js中使用supervisor实时监测文件修改并自动重启应用的功能,从而避免大量重复的CTRL+C终止程...

  • VPS自动运行frps

    由于国外超便宜的VPS总是自己重启,搞得我frps总要断,弄了一下crontab+小脚本自动检测 小脚本 crontab

  • centos7 配置crontab定时任务

    1. 启动cron服务 2. 开机自动启动cron服务 3. 通过crontab命令管理定时任务 crontab命...

  • 4-13 Linux中的计划作业 --- crontab(一、c

    crontab:通过指令制定计划任务。让系统自动进行预设的任务。 4-12 内容:学习 crontab 命令创建计...

  • Linux crontab设置定时任务

    连接远程服务器后输入命令: 编辑命令 重启crontab服务 crontab常用命令 crontab格式说明:* ...

  • iOS常用第三方库

    1.App基础框架常用 网络监测-Reachability自动布局-Masonry网络请求-AFNetworkin...

  • python crontab 坑

    最近用Python写了一些数据统计的脚本,并使用crontab自动执行,但是配置crontab总是要过几个坑才行的...

  • 2018.6.5 运维相关 启动项排查

    大致背景是为应用增加pinpoint监控后,发现部分服务自动重启后pp参数消失。最后查明是crontab的定时任务...

网友评论

      本文标题:通过crontab监测网络状况并自动修复重启

      本文链接:https://www.haomeiwen.com/subject/rlofhktx.html