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

python – 允许用户配置cron

发布时间:2020-12-20 12:25:00 所属栏目:Python 来源:网络整理
导读:我在服务器上有这个bash脚本,每小时运行一次,通过cron.我非常高兴,但现在用户希望能够通过Web界面配置频率. 我不习惯以编程方式操作cron配置,但我不确定其他选项是否更好. 我看到它的方式,我可以: 安排脚本每分钟运行一次并检查它是否应该“现在”运行 完全
我在服务器上有这个bash脚本,每小时运行一次,通过cron.我非常高兴,但现在用户希望能够通过Web界面配置频率.

我不习惯以编程方式操作cron配置,但我不确定其他选项是否更好.

我看到它的方式,我可以:

>安排脚本每分钟运行一次并检查它是否应该“现在”运行
>完全放弃cron并使用自己的调度程序deamon.这可能意味着在python中重写脚本
> …或者从网络界面中操作cron配置(用python BTW编写)

我该怎么办?

编辑:澄清一下,我担心操纵cron的主要原因是因为它基本上是文本操作而没有验证,如果我搞砸了,我的其他任何cron作业都不会运行.

这是我最终做的事情:

根据stefanw的建议,我在bash脚本的顶部添加了以下行:

if [ ! `cat /home/username/settings/run.freq` = $1 ]; then
    exit 0
fi

我设置了以下cron作业:

0 */2 * * *             /home/username/scripts/publish.sh 2_hours
@hourly                 /home/username/scripts/publish.sh 1_hour
*/30 * * * *            /home/username/scripts/publish.sh 30_minutes
*/10 * * * *            /home/username/scripts/publish.sh 10_minutes

在Web界面中,我让用户在这四个选项之间进行选择,并根据用户选择的内容,将字符串2_hours / 1_hour / 30_minutes / 10_minutes写入/home/username/settings/run.freq文件中.

我不喜欢它,但它似乎是最好的选择.

解决方法

为您的用户提供一些合理的选择,例如每分钟,每5分钟,每半小时……,并将这些值转换为cron作业字符串.这是用户友好的,并禁止用户直接篡改cron作业字符串.

(编辑:李大同)

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

    推荐文章
      热点阅读