微信公众号:leetcode_algos_life,代码随想随记
小红书:412408155
CSDN:https://blog.csdn.net/woai8339?type=blog ,代码随想随记
GitHub: https://github.com/riverind
抖音【暂未开始,计划开始】:tian72530,代码随想随记
知乎【暂未开始,计划开始】:代码随想随记
【背景】
需要对端口进行监控。
【方案】
(一)监听端口
监控通常可以在服务里增加get请求接口,或者有四种方式:
1)telnet ip port
2)echo >/dev/tcp/ip/port
向ip:port建立一个连接,会把连接返回的东西丢弃,查看连接是否成功,如果没有什么返回,即为成功的状态。
3)nc -v ip port
4)wget ip:port
(二)定时任务
crontab可以进行定时任务。
⚠️注意:
(1)crontab -e 的默认编辑是nano,可以修改默认编辑为vim。修改方法如下:
vim ~/.selected_editor:
SELECTED_EDITOR="/usr/bin/vim"
(2)crontab -e 编辑定时任务,注意⚠️:该定时任务只能到分,不能到秒。
(3)Linux修改dash到bash,dash是bash的子集:
修改bin/sh软链接指向bash:
ln -sf /bin/bash /bin/sh
否则会出现报错,报错信息可能如下:
cannot create /dev/tcp/localhost/port: Directory nonexistent
参考crontab定时任务:
每个小时的01分执行test.sh脚本:
01 * * * * cd ./test/ && ./test.sh >>test.log 2>&1
如果重定向日志,最好写绝对路径:
每分钟执行test.sh脚本:
* * * * * sh /abs/test.sh >> /abs/test.log 2>&1
crontab定时任务时间如下:
(三)分天保存contab日志
* * * * * sh test.sh >> "/path_$(date +"\%Y-\%m-\%d").log" 2>&1
参考资料:
1、crontab定时时间
2、修改dash到bash