• 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下按键驱动实验
    MySQL版数据库原理与应用期末复习重点(1)---关系代数(除运算和自连接查询、手写例题)
    研发效能之技术治理&技术治理架构师
    nacos的心跳机制详解
    华为OD机试 - 单词接龙 - 数据结构map、list (Java 2023 B卷 100分)
    BurpSuite 请求/响应解密插件开发
    曼哈顿距离与曼哈顿矩形-打印回字型矩阵
    如何配置ESB单据集成接口
  • 原文地址:https://blog.csdn.net/amamiyayouko/article/details/127746820