• 首页
  • 搜索
  • 夜间模式
    ©2026  大白蚁的生活碎碎念 Theme by OneBlog

    大白蚁的生活碎碎念博客

    搜索
    标签
    # 随笔 # 数据库 # typecho # Linux # teamspeak
  • 首页>
  • 学习>
  • 正文
  • 设置宝塔面板计划任务按秒数执行Shell脚本

    2023年08月11日 5 阅读 0 评论 927 字

    用到一个定时任务功能,但宝塔最低执行周期只有1分钟,然而我需要用到最小3秒来执行,于是就有了下面的方法,当然我是在网上搜索后,自己稍加改动来实现的。

    添加计划任务,任务类型选择”Shell脚本”,执行周期选择N分钟,分钟值可以临时填写个1分钟。

    #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    step=5 #间隔的秒数,不能大于60
    for (( i = 0; i < 60; i=(i+step) )); do
    要执行的shell代码可以放入这里
    sleep $step
    done
    exit 0

    上面是Linux的方式,要是Windows的话,则只能使用下面的方法了

    使用批处理文件来进行循环执行,新建一个bat格式的批处理文件,然后参考以下的代码进行修改,以达到每5秒进行请求网站。

    @echo off
    :start
    这里是要执行的代码
    timeout /t 5 >nul
    goto start

    下面是设置每3分钟进行文件修改时间的检查,如果与现行时间间隔10秒没更新,则需要重新启动服务

    #!/bin/bash
    cd 要进入的目录
    
    timestamp=$(date +%s)
    filetimestamp=$(stat -c %Y whazzup.txt)
     
    #echo $timestamp
    #echo $filetimestamp
    #echo $[$timestamp - $filetimestamp]
    #设置需要比对的秒 10秒
    if [ $[$timestamp - $filetimestamp] -lt 10 ];
    then
    #echo 差值小于10正常
    echo 服务运行正常
    else 
    echo 差值大于10秒,判定服务下线,需要重启
    要执行的sh脚本或者其他
    echo 服务异常,执行服务重启
    fi
    本文著作权归作者 [ 大白蚁 ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    — END —
    首页
    Copyright©2026  All Rights Reserved.  Load:0.051 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。