#!/bin/bash

设置定时执行任务的时间

time="23:00"

获取当前时间

now=$(date +%H:%M)

如果当前时间大于定时执行的时间,就将定时执行的时间加上一天

if [ $now > $time ]; then time=$(date -d "+1 day ${time}" +%H:%M) fi

进入循环,持续检查当前时间是否等于定时执行的时间

while true; do now=$(date +%H:%M) if [ $now = $time ]; then # 执行需要定时执行的任务 echo "执行定时任务" # 执行完任务后,将定时执行的时间加上一天 time=$(date -d "+1 day ${time}" +%H:%M) fi

等待1分钟后再次检查时间是否等于定时执行的时间

sleep 60 done

使用方法:

1. 将上述脚本保存为一个.sh文件,比如timer.sh

2. 在终端中进入保存脚本的目录

3. 给脚本添加可执行权限:chmod +x timer.sh

4. 执行脚本:./timer.sh

5. 脚本会在设定的时间执行任务,每隔1分钟检查一次时间是否到达执行时间。

帮我写一个定时执行任务的shell脚本

原文地址: https://www.cveoy.top/t/topic/xTr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录