You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Cron任务执行时间每日自动延后1分钟?含跨小时处理

解决方案:动态调整Cron执行时间或递增延迟时长

一、动态调整Cron执行时间方案

核心逻辑是每次签到脚本执行完成后,自动读取当前Cron任务的执行时间,计算延后1分钟的新时间(处理分钟满59后的小时进位),再更新Cron任务。

实现示例

  1. 编写Cron更新脚本/root/update_cron.sh:
#!/bin/bash

# 标记目标Cron任务的唯一标识
CRON_TASK="/root/clicker.sh"

# 获取当前Cron中该任务的配置
current_cron=$(crontab -l | grep "$CRON_TASK")
if [ -z "$current_cron" ]; then
    echo "未找到目标Cron任务"
    exit 1
fi

# 解析当前的分钟和小时参数
current_min=$(echo "$current_cron" | awk '{print $1}')
current_hour=$(echo "$current_cron" | awk '{print $2}')

# 计算下一次执行的分钟和小时
next_min=$((current_min + 1))
next_hour=$current_hour

# 处理分钟进位:59+1=0,小时加1
if [ $next_min -ge 60 ]; then
    next_min=0
    next_hour=$((current_hour + 1))
    # 处理小时进位:23+1=0
    if [ $next_hour -ge 24 ]; then
        next_hour=0
    fi
fi

# 构建新的Cron配置
new_cron="$next_min $next_hour * * * $CRON_TASK"

# 更新Cron任务:先删除旧配置,再添加新配置
crontab -l | grep -v "$CRON_TASK" | crontab -
echo "$new_cron" | crontab -

# 可选:添加日志记录
echo "$(date '+%Y-%m-%d %H:%M:%S'): Cron已更新为 $new_cron" >> /root/cron_update.log
  1. 在你的签到脚本/root/clicker.sh末尾添加调用:
# 你的原有签到逻辑(登录、点击签到按钮)
# ...

# 执行Cron更新
/root/update_cron.sh
  1. 初始化Cron任务
    手动添加初始执行时间,比如:
crontab -e
# 添加一行:33 23 * * * /root/clicker.sh
  1. 给脚本添加执行权限
chmod +x /root/clicker.sh /root/update_cron.sh

二、递增Sleep时长方案

固定Cron的执行时间(比如每天00:00),每次执行脚本时,根据历史执行次数递增Sleep时长,确保每次签到操作间隔至少24小时。

实现示例

  1. 创建执行次数记录文件:
echo 0 > /root/run_count.txt
  1. 修改签到脚本/root/clicker.sh:
#!/bin/bash

# 读取当前执行次数
run_count=$(cat /root/run_count.txt)

# 计算延迟时长:首次执行无延迟,之后每次递增60秒
sleep_sec=$((run_count * 60))
echo "等待 $sleep_sec 秒后执行签到..."
sleep $sleep_sec

# 你的原有签到逻辑(登录、点击签到按钮)
# ...

# 仅在签到成功时递增执行次数(可根据实际情况调整判断条件)
if [ $? -eq 0 ]; then
    new_count=$((run_count + 1))
    echo $new_count > /root/run_count.txt
fi
  1. 设置固定Cron任务:
crontab -e
# 添加一行:0 0 * * * /root/clicker.sh

内容的提问来源于stack exchange,提问作者Max Zavodniuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 16:30:48