很多时候网站服务器挂掉也可能是因为网卡挂掉了,如果你网站不能访问时 SSH 也无效了一般都是这个问题。这时可以通过一个定时脚本监控网络并进行自动重启。
1 创建脚本 auto_restart_network.sh
4 5 6 7 8 9 | #!/bin/bash ping www.baidu.com -c 1 >/dev/null if [ $? -ne 0 ];then # systemctl restart network sudo /etc/init.d/networking restart echo `date` network restart >> /alidata/tools/network_restart_logs.txt else echo `date` network works fine fi |
上传此文件到服务器。
注释:
1)该脚本会 ping www.baidu.com 网站,当然你也可以改成其他的网站,比如你自己的页面。
2)根据 ping 的结果,如果不成功的话,则使用命令重启网络连接服务。
2 创建定时任务
创建定时任务有两种方法一种是直接编辑 /etc/crontab,运行
*/30 * * * * root /alidata/tools/auto_restart_network.sh >> /alidata/tools/logs.txt 2>&1 |
其中 */30 表示每 30 分钟执行一次脚本。
sudo service crond restart
如果顺利的话这一脚本就会每隔 30 分钟执行一次,并且可以在 /alidata/tools/network_restart_logs.txt 看到脚本执行的日志以及 /alidata/tools/logs.txt 看到每次执行的输出。因为频率低以及只输出不多的几个字符,这两个 log 文件通常不会增加很多,不过也应注意下及时清除。