源:http://www.jianshu.com/p/96aa26d165c3 (我的简书文章)

故事背景

树莓派3b现在有了板载无线网卡,可以很方便的连接到wifi。但是无线路由器不能保证永远正常工作,由于各种原因会重启路由。这个时候,raspberry3b就会有一定概率断开网络连接。系统级功能比如像手机一样有网就连,断网后自动重连的功能目前没有能力实现。所以就想搞一个脚本检查网络连接状态,如果没有网络重启一下。

shell脚本

   #! /bin/bash
   #检测网络连接
   log=/root/network.log
   #判断输出日志文件是否存在
   if [ ! -f ${log} ]
   then
      touch ${log}
   fi
   ping -c 1 192.168.1.1 > /dev/null 2>&1
   if [ $? -eq 0 ];then
       #echo `date` 检测网络正常 >> ${log}
   else
       echo `date` 检测网络异常 >> ${log}
       reboot
   fi

这个脚本基本上是ping路由地址(192.168.1.1)来判断无线的连接状态,$?是上一条命令执行的return值。ping通返回0,ping不通返回不是0。当ping不通的时候写下日志,然后重启系统(为什么不重启网络?我是真的不在家的时间有点长,所以没有胆量尝试)。

定时运行

起初想用nodejs脚本定时运行,自己都觉得小题大作了。转而寻找用shell脚本实现的思路。查资料后发现linux系统本身有一个cron服务(俗称定时任务)。
修改/etc/crontab文件,添加一行 

*/5 *   * * *   root    bash /root/network.sh

当系统时间的分钟整除5的时候就会以root身份调用一个后面的bash /root/network.sh命令。

posted @ 2017-02-20 14:30 采采00 阅读(1672) 评论(0) 推荐(0) 编辑
摘要: ios7,碰到个需要手动调整状态栏方向的问题,于是调用了下面这段代码。 //设置状态栏 横屏 [[UIApplication sharedApplication]setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; 问题来了,死 阅读全文
posted @ 2016-11-25 09:20 采采00 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 完整的shell教程 阅读全文
posted @ 2016-05-26 16:34 采采00 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 6个基本screen命令 最基本 最常用 阅读全文
posted @ 2016-04-18 09:39 采采00 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1. 安装yoman :npm install -g yo2. 安装 generator-express :npm install -g generator-express3. 安装 bower :npm install -g bower前三项都是各种工具的安装,安装失败往往都是版本不兼容导致的。一... 阅读全文
posted @ 2016-01-25 20:34 采采00 阅读(190) 评论(0) 推荐(0) 编辑
摘要: iap 全程总结 阅读全文
posted @ 2015-06-11 11:14 采采00 阅读(405) 评论(0) 推荐(0) 编辑
摘要: kxmovie 迁移操作 阅读全文
posted @ 2015-02-26 16:31 采采00 阅读(280) 评论(0) 推荐(0) 编辑
摘要: ffmpeg ios 开发准备阶段 阅读全文
posted @ 2015-02-11 17:40 采采00 阅读(6688) 评论(2) 推荐(2) 编辑
摘要: 安装 node 阅读全文
posted @ 2015-01-03 00:07 采采00 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 关于centos网络配置的方法,网上文档很多,但基本上都是一些操作命令,原理和解释则很少提到,而且某些文章有些地方还是需要商量的(估计是转载的,作者自己也没有实践过)。故,重新总结一下,分三个部分:理论基础、上机实践和原因阐述。 阅读全文
posted @ 2015-01-02 00:33 采采00 阅读(205) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示