LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 730|回复: 4

如何实现cron任务中输入数据的合法性检查

[复制链接]
发表于 2003-9-12 12:37:30 | 显示全部楼层 |阅读模式
如:
echo "时间格式: 分钟 小时 日 月 星期(以空格分隔不同的时间)"
echo "例:30 10 * * 1,2,3,4,5"
echo "以上例子是每星期的1,2,3,4,5上午10点30,*号表示缺省"
echo "请输入任务计划时间:"
read time

该变量会在/var/spool/cron/root文件中添加一行,我的目的是为该变量进行合法性检查,不至于用户输入系统不能执行的时间。目前我只做了必须输入5个字段的检查,希望大家帮忙。
 楼主| 发表于 2003-9-14 09:16:48 | 显示全部楼层
怎么没人,我顶
发表于 2003-9-15 00:50:29 | 显示全部楼层
最初由 cx6445 发表
怎么没人,我顶

我也顶! ;)
我想你是不是想对你输入的time变量做检测吧~~,是不是这样可以呢?
1,取time的域的个数,因为cron分5段嘛.
num=$(echo $time|awk '{print NF}')
if [[ $num != 5 ]];then ....;fi
2,对每个域中的值作检测,如
a1=$(echo $time|cut -f1 -d" ")
if [[ $a1 > 60 || $a1 < 0 ]];then ....;fi
3,对于第5个域,如果是固定的好说,可以
var="1,2,3,4,5";if [[ $a5 != $var ]];then ...;fi
总之,重复性的代码很多,不知道是不是这个意思? ;)
 楼主| 发表于 2003-9-15 09:18:47 | 显示全部楼层
关键是每个域都可以允许有逗号输入,象day域最多可以有30个逗号
发表于 2003-9-15 18:48:42 | 显示全部楼层
老实说,没有必要写这种东西
要用户自己crontab -e直接编辑就行
kde下还有个很漂亮的gui配置工具,kcron
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表