linux:使用nc(netcat)命令进行端口检测,并使用Docker管理容器

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

1

  1. 编辑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保存退出。

  1. 新增调度任务
    在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
#每分钟执行一次
* * * * * /dev/ssh/connDetech.sh

2
crontab -l 查看所有任务列表
1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值