加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – Cron工作和随机时间,在给予小时

发布时间:2020-12-15 16:31:04 所属栏目:安全 来源:网络整理
导读:我需要能够在完全随机的时间一天运行一次php脚本20次。我也想要它只在上午9点 – 晚上11点之间运行。 我熟悉在linux中创建cron作业。虽然我不能创建任何bash脚本。 如果我明白你要找什么,你将需要做一些有点凌乱,像有一个cron作业,运行一个bash脚本随机运
我需要能够在完全随机的时间一天运行一次php脚本20次。我也想要它只在上午9点 – 晚上11点之间运行。

我熟悉在linux中创建cron作业。虽然我不能创建任何bash脚本。

如果我明白你要找什么,你将需要做一些有点凌乱,像有一个cron作业,运行一个bash脚本随机运行时间…这样的东西:

crontab:

0 9 * * * /path/to/bashscript

和/ path / to / bashscript:

#!/bin/bash

maxdelay=$((14*60))  # 14 hours from 9am to 11pm,converted to minutes
for ((i=1; i<=20; i++)); do
    delay=$(($RANDOM%maxdelay)) # pick an independent random delay for each of the 20 runs
    (sleep $((delay*60)); /path/to/phpscript.php) & # background a subshell to wait,then run the php script
done

一些注意事项:这种方法有点浪费资源,因为它在上午9点激发20个后台进程,每个等待一个随机的分钟数(长达14小时,即11pm),然后启动php脚本和退出。此外,由于它使用随机分钟数(而不是秒),开始时间不是随机的,因为它们可能是。但是$ RANDOM只能达到32,767,而在上午9点到下午11点之间有50,400秒,所以随机选择秒数会更复杂一些。最后,由于开始时间是随机的并且彼此独立,所以可能(但不是很可能)同时启动脚本的两个或多个实例。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读