从 bash 脚本读取 cron 计划

从 bash 脚本读取 cron 计划

是否有可能获得正在运行的作业的时间表?

如果我的 crontab 中有此行 * * * * * /home/test/test.sh

我可以读取* * * * *来自 的内容test.sh吗?并且只读取该脚本?

我希望有一些变量我可以读取并获取当前的时间表。

答案1

crontab -l为您提供用户当前的 crontab。您可以更轻松地像这样剪切出所需的值:crontab -l | grep -v "#" | cut -d " " -f 1,2,3,4,5

答案2

您无法获取此信息,因为 crond 没有将其提供给正在运行的作业。

对于用户 cron 作业(可能还有其他作业),您可以在 crontab 中定义一个环境变量,并让您的作业读取它,例如

cron_scedule='* * * * *'
* * * * * /home/test/test.sh
cron_schedule='1-59 * * * *' 
1-59 * * * * /home/test/test1-59.sh

环境变量cron_scedule被传递给脚本环境以供脚本访问。显然,随着 cron 作业/用户等的增多,这会变得有点混乱和难以处理。

您实际上想要解决的问题是什么?

相关内容