我在服务器上有这个bash脚本,每小时运行一次,通过cron.我非常高兴,但现在用户希望能够通过Web界面配置频率.
我不习惯以编程方式操作cron配置,但我不确定其他选项是否更好.
我看到它的方式,我可以:
我该怎么办?
编辑:澄清一下,我担心操纵cron的主要原因是因为它基本上是文本操作而没有验证,如果我搞砸了,我的其他任何cron作业都不会运行.
这是我最终做的事情:
根据stefanw的建议,我在bash脚本的顶部添加了以下行:
if [ ! `cat /home/username/settings/run.freq` = $1 ]; then
exit 0
fi
Run Code Online (Sandbox Code Playgroud)
我设置了以下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
Run Code Online (Sandbox Code Playgroud)
从Web界面,我让用户在这四个选项之间进行选择,并根据用户选择的内容,将字符串2_hours/1_hour/30_minutes/10_minutes写入文件中/home/username/settings/run.freq.
我不喜欢它,但它似乎是最好的选择.