怎么用shell自动创建crontab任务,并且还能自动删除此条任务,详细如下:

我现在需要有很多定时运行的任务(脚本),需要用crontab来创建,创建比较容易,直接输出重定向写到etc/crontab里面就行了,但是如果我想用shell脚本删除其中... 我现在需要有很多定时运行的任务(脚本),需要用crontab来创建, 创建比较容易,直接输出重定向写到etc/crontab里面就行了,但是如果我想用shell脚本删除其中一条这时候要怎么办呢,具体删除哪一条是上游给我传过来的参数,我只需要删除不需要再执行的那条,要怎么定位到那一条,并且怎么在/etc/crontab里面删除掉呢?
想了两天了没想出对策,求大神给个思路
展开
 我来答
wallcopper
2015-08-14 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1812万
展开全部
1、crontab -l检查
2、crontab -e添加
3、root计划任务保存的文件是/var/spool/cron/root
4、根据实际情况修改/var/spool/cron/root即可
5、例如,计划任务保存在/opt/cron.txt里面
0 4 * * * /tomcat6/bin/startup.sh;
6、在第五行添加或指定字符串
sed -i '5 r cron.txt /var/spool/cron/root
或者
sed -i '/cron.start/r cron.txt' /var/spool/cron/root
7、删除最后一行
sed -i '$d' /var/spool/cron/root
追问
大神    你看我这个想法行得通吗 :

在创建crontab的脚本里面有几条这样写
useradd $1
echo "0 4 * * * $1 /opt/cron.txt">>/etc/crontab
这样新建一个用户,用这个用户执行计划任务,
当删除时
crontab -r -u $1
就删除了,还可以定位到删除的哪个计划任务,
如果用sed删除我就会不知道前面给传过来具体删除哪一条
这样做可以吗
追答
比如你添加了用户user01,计划任务存到/var/spool/cron/user01即可。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式