zoukankan      html  css  js  c++  java
  • Linux定时任务实现每秒执行一次


    Linux定时任务实现每秒执行一次


    以下仅为本人工作、学习过程中所接触到的内容,不足之处请多包涵。

    crontab定时任务最小周期为1分钟,如果脚本的调度周期需要小于1分钟,crontab就无法直接使用了,不过可以使用以下方法实现调度周期小于1分钟的情况。
    date >> /root/result.txt为需要定时执行的命令(当然该语句可以换成其他脚本,如果需要的话),周期为1秒,分为两步实现:
    1、循环中实现1分钟执行60次;
    2、crontab定时任务每分钟执行一次test.sh脚本
    1、2步骤配合使用,就实现了date >> /root/result.txt命令每秒执行一次的需求。

    编写/root/test.sh脚本

    该方法适用于调度周期能被60整除的情况

    #!/bin/bash
    step=1
    for (( i = 0; i < 60; i = (i+step) )); do
        date >> /root/result.txt
        sleep $step
    done
    
    exit 0
    

    配置定时任务

    定时任务配置为每隔1分钟执行一次
    若不了解定时任务如何添加,可参考Linux之crontab命令

    // 编辑crontab
    crontab -e
    // 添加定时任务
    * * * * * sh /root/test.sh
    或
    */1 * * * * sh /root/test.sh
    

    实现结果

    通过以上步骤,即可实现date >> /root/result.txt命令每秒执行一次,测试结果如下:
    pic

    涉及的其他知识

    清空文件内容方式

    方式一:

    cat /dev/null > file.name
    

    方式二:
    这种方式会在文件中写入一个空行

    echo "" > file.name
    

    方式三: 在 vi / vim 编辑状态下,使用%d清空

    vim file.name
    :%d
    :wq
    

    追加输入到文件末尾

    // > 添加内容,会删除文件中的原来内容
    date > /root/result.txt
    // >> 在原文件末尾追加内容
    date >> /root/result.txt
    

    参考

  • 相关阅读:
    053-157
    053-496
    053-128
    053-167
    053-250
    053-674
    离职申请
    日记


  • 原文地址:https://www.cnblogs.com/hai-feng/p/12446126.html
Copyright © 2011-2022 走看看