监控docker0网关并关闭
工作环境的docke0网段一直有人启动,写了命令每30s检测一次,一旦发现就关闭
#!/bin/bash while true; do current_time=$(date +"%Y-%m-%d %H:%M:%S") # 检查 docker0 网桥是否启动 if ip link show docker0 | grep -q "UP"; then echo "$current_time: 发现 docker0 网桥已启动,正在关闭..." # 关闭 docker0 网桥 sudo ip link set dev docker0 down if [ $? -eq 0 ]; then echo "$current_time: docker0 网桥已关闭成功" else echo "$current_time: 关闭 docker0 网桥失败" fi else echo "$current_time: docker0 网桥未启动" fi sleep 60 # 等待一分钟再次检查 done
`$?` 是一个特殊变量,用于存储上一个命令的退出状态。在大多数情况下,命令成功执行后退出状态为 0,而出现错误时退出状态为非零值。因此,`[ $? -eq 0 ]` 表示如果上一个命令执行成功,则条件成立。
在我们的脚本中,我们使用 `sudo ip link set dev docker0 down` 命令来关闭 docker0 网桥。当这个命令成功执行并且关闭了网桥时,它会返回退出状态 0。因此,我们使用 `[ $? -eq 0 ]` 来检查命令是否成功执行。
如果退出状态为 0,条件成立,我们会打印出成功关闭 docker0 网桥的消息。如果退出状态不为 0,即命令执行失败,则会打印出关闭失败的消息。
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18066470,如有侵权联系删除