flyzy博客
分享便宜VPS与网络优惠
搬瓦工

请教MJJ大佬Linux的shell写法

怎么写个定时任务
比如说
每30分钟执行一次 PING 192.168.0.1 通不通  如果通就正常  如果不通就重启 reboot

感觉应该思路应该行得通,但是不会写语句。

广东省网友说:crontab(ping + grep + wc + if)

浙江省网友说:我只会 */30 * * * * PING 192.168.0.1

湖南省网友说:直接宝塔,一步到位。

贵州省网友说:就是用到宝塔上  但是不会怎么写

四川省网友说:会写定时重启  但是不会写PING 怎么判断

青海省网友说:假设已经获取到当前 Ping IP: if [[ -f /tmp/ping_ip ]] ; then   old_ip=$(cat /tmp/ping_ip) else   echo “$new_ip” > /tmp/ping_ip fi 复制代码
然后再配合你的定时重启。

湖南省网友说:没太看懂  我就是要ping 192.168.0.1   通就完事  不通就reboot

四川省网友说:——————————脚本(假设你把它保存在/root/test.sh)———————————-
#!/bin/bash
ping -c 1 192.168.0.1 > /dev/null
if [ ! $? -eq 0 ] then
    reboot
fi
————————————————————
定时命令:
*/30 * * * * bash /root/test.sh
(crontab -e这个命令)
———————————————————-
就ping 了一次,想多ping几次把-c 后面的1改成次数
默认ping的结果不显示,要显示把> /dev/null 去掉
over

湖北省网友说:我理解错了,我以为是 Ping 的 IP 要是不一致就重启,思路差不多,if 判断。

海南省网友说:其实你可以直接用||啊
ping 192.168.1.123 -c 1 -w 3 || reboot
&&是前成功执行,||是前失败执行,所以你不需要sh,只要||就行了

广东省网友说:测试成功

感谢

这样省事了   不通就自动重启了,不知道为什么有时候断电或者其他原因重启就不通  我需要手工重启,有时重启就好了,有时重启几次才好,反正就是重启就可以解决问题,这样的话我就可以自动任务  不需要我手工解决了。

感谢各参与帮助回复的MJJ们

贵州省网友说:我去  你这个更简单了

台湾省网友说:感谢感谢

刚才哪个我测试了  的确成功了

因为没有192.168.0.2   我把地址改成这个   执行一下   然后就重启了

然后改回192.168.0.1   路由存在的  然后就啥事没有。

很成功。

山东省网友说:厉害了兄弟,他说要脚本,我就只往脚本上想的
忘记了不用写个文件直接在crontab里执行就好了
学到了学到了哈哈

赞(0) 打赏
关注我们
未经允许不得转载:flyzy博客 » 请教MJJ大佬Linux的shell写法
分享到: 更多 (0)

这是一种鼓励

支付宝扫一扫打赏

微信扫一扫打赏