linux:使用nc(netcat)命令进行端口检测,并使用Docker管理容器
通过创建linux可执行shell脚本文件,再设置crontab调度执行实现循环检测IP:端口是否能正常连接,能连接则关闭docker服务,不能连接则开启docker服务退出。
·
- 需求:
循环检测IP:端口是否能正常连接,能连接则关闭docker服务,不能连接则开启docker服务 - 实现:
&esmp;通过创建linux可执行shell脚本文件,再设置crontab调度执行实现上述需求。详细步骤如下:
- 创建shell文件,并分配权限
# 新建一个可执行文件
touch 文件目录/文件名.sh
# 分配可运行权限
chmod +x 文件名.sh

- 编辑shell脚本
vi 文件名
写入文件内容:
#!/bin/bash
IP="11.11.1.110"
# 检测11.11.1.110的1881端口是否开放
PORT1=1881
#使用nc命令尝试连接到指定的IP和端口
#如果连接成功(nc命令返回0)
if nc -zv $IP $PORT1;then
#则停止名为a4f5084b6662的Docker容器
sudo docker stop a4f5084b6662
else
#如果连接失败(nc命令返回非0)
#则启动名为a4f5084b6662的Docker容器。
sudo docker start a4f5084b6662
fi
# 检测11.11.1.110的1882端口是否开放
PORT2=1882
if nc -zv $IP $PORT2;then
sudo docker stop b57772e9ba77
else
sudo docker start b57772e9ba77
fi
编辑完后, 按esc键输入:wq保存退出。
- 新增调度任务
在命令行输入:crontab -e然后添加相应的任务,wq存盘退出。
#每分钟执行一次
* * * * * /dev/ssh/connDetech.sh

crontab -l 查看所有任务列表
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)