• 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
    这里面写的很详细,也可以修改参数现场模拟

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

  • 相关阅读:
    IEEE PDF eXpress系统报错:TimesNewRoman PS-BoldMT, ItalicMT, PSM
    【内网安全】——windows信息收集
    详解junit
    sovits远程访问设置
    pageoffice打开excel文件变成了打开本地~tempXXXX-Excel文件
    经验分享|如何有效地进行审稿意见回复
    父子进程exec,fork等
    基于SSM的垃圾分类管理系统源码
    【leetcode】【2022/11/14】805. 数组的均值分割
    C#唯一进程的处理Winform/WPF
  • 原文地址:https://blog.csdn.net/amamiyayouko/article/details/127746820