使用crontab -l为空,但是有定时任务在跑

接到开发电话反馈,某个应用总是在规定时间出现CPU飙升的情况,看到是由于netstat命令引发的,但是kill掉后,还会问题复发。

登录上去,果不其然,CPU满负荷,杀掉进程之后还恢复,判断后台是有定时任务在跑,或者有看门狗在循环执行定时检查任务,如图:

但是通过crontab -l查看定时任务列表却空空如也,查了所有的用户都是空,于是怀疑这个任务是埋在机器里的crontab设定来执行的。通过ps -axjf |grep cron来看果然有一个叫relation的命令在执行,如图:

/etc/cron.d里查看所有的定时任务,还真有一个叫relation的文件,打开内容一看,果然是它,如图:

这里写的是每分钟执行一下/bin/relation命令,然后再去cat /bin/relation发现果然是一个每天5点会执行一个netstat命令同时还去connect某个网址的命令,所以引发的CPU飙升,如图:

关闭之后,世界清净了。

这里注意一下,线上环境的功能采用脚本+crontab的方式实现,未放到代码层实现,我想在大公司里都是违反安全生产协议的。涉及到线上产品的功能或者逻辑,一定要在代码层面实现掉,不要单独搞非标的方式,会给新接手的同学埋坑,同时容易给线上扩容或者其他操作造成故障。

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------