帮我写一个定时执行任务的shell脚本
#!/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分钟检查一次时间是否到达执行时间。
原文地址: https://www.cveoy.top/t/topic/xTr 著作权归作者所有。请勿转载和采集!