• linux根据指定的文件名杀死进程,再定时重启任务


    linux定时重启任务

    需求:

    组里有个任务,需要每隔15分钟去请求一个接口,我写了个脚本每隔15分钟去调用接口,但是该接口,token过期时间是一个小时,所以需要写个定时任务,每隔1个小时去重启一次调接口的那个脚本

    调接口的脚本:

    调接口的脚本很简单,写shell就行了,首先根据该js脚本的名字,获取对应的进程

    kill -9 $(ps -ef |grep "1_互联网电视业务性能劣化故障识别.js" |grep -v "grep" |awk '{print $2}')
    
    • 1

    这里的后面的|grep -v “grep” 是把grep给过滤掉
    然后用nohup重启

    nohup node /home/9day_script/1_互联网电视业务性能劣化故障识别.js >/home/9day_script/hcc1.log &
    
    • 1

    这里脚本路径和输出log的路径,最好设置成绝对路径
    最上面记得source一下,我一开始没写这个,脚本没有执行,不知道是不是这个的原因

    source /etc/profile
    
    • 1

    完整的脚本代码如下

    #!/bin/bash
    source /etc/profile
    
    kill -9 $(ps -ef |grep "1_互联网电视业务性能劣化故障识别.js" |grep -v "grep" |awk '{print $2}')
    nohup node /home/9day_script/1_互联网电视业务性能劣化故障识别.js >/home/9day_script/hcc1.log &
    
    kill -9 $(ps -ef |grep "2_互联网电视业务中断故障识别.js" |grep -v "grep" |awk '{print $2}')
    nohup node /home/9day_script/2_互联网电视业务中断故障识别.js >/home/9day_script/hcc2.log &
    
    kill -9 $(ps -ef |grep "3_互联网电视关联EPG质量问题识别.js" |grep -v "grep" |awk '{print $2}')
    nohup node /home/9day_script/3_互联网电视关联EPG质量问题识别.js >/home/9day_script/hcc3.log &
    
    kill -9 $(ps -ef |grep "4_互联网电视关联OTT和CDN质量问题识别.js" |grep -v "grep" |awk '{print $2}')
    nohup node /home/9day_script/4_互联网电视关联OTTCDN质量问题识别.js >/home/9day_script/hcc4.log &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    定时任务设置

    输入crontab -e 可以修改定时任务,相当于vim一样,也可以看到当前有哪些定时任务

    crontab -e
    
    • 1

    然后因为接口的token一个小时过期,所以我得每隔一个小时去重启

    0 * * * * /bin/bash /usr/local/vixtel/logeye/mongo/scripts/startup2.sh
    
    • 1

    一开始我写成了

    * */1 * * * /bin/bash /usr/local/vixtel/logeye/mongo/scripts/startup2.sh
    
    • 1

    结果变成了
    查看定时任务状态

    tail -f /var/log/cron
    
    • 1

    在这里插入图片描述

    看图片,可以看到每分钟重启一次,原因是因为第一个写成了*,改成0就好了,改完后记得重启crond,将修改生效

    service crond restart
    
    • 1

    crontab工具

    关于crontab的详细设置和小工具,可以参考
    https://tool.lu/crontab
    这里面写的很详细,也可以修改参数现场模拟

    最后我的定时任务修改成功了,可以看到只在整点才重启了
    在这里插入图片描述
    脚本也是正常运行的了
    在这里插入图片描述

  • 相关阅读:
    Linux性能优化思路和方法
    计算机毕设(附源码)JAVA-SSM基于智能推荐的胖达大码服装定制网
    基于Java模具制造企业订单跟踪管理系统设计实现(源码+lw+部署文档+讲解等)
    智慧远程医疗服务:从零开始搭建互联网医院APP
    Ansible-Playbook 剧本语法
    UNet代码练习
    是时候重视官网了,寄生平台的生意表达,就是在给平台打工
    wsl 中 docker-compose 搭建 kafka 集群出现的外部访问错误
    【JavaScript】参考手册-Array对象的3个属性和25个方法
    接口测试自动化脚本框架1
  • 原文地址:https://blog.csdn.net/amamiyayouko/article/details/127746820