怎么用shell自动创建crontab任务,并且还能自动删除此条任务,详细如下:
我现在需要有很多定时运行的任务(脚本),需要用crontab来创建,创建比较容易,直接输出重定向写到etc/crontab里面就行了,但是如果我想用shell脚本删除其中...
我现在需要有很多定时运行的任务(脚本),需要用crontab来创建, 创建比较容易,直接输出重定向写到etc/crontab里面就行了,但是如果我想用shell脚本删除其中一条这时候要怎么办呢,具体删除哪一条是上游给我传过来的参数,我只需要删除不需要再执行的那条,要怎么定位到那一条,并且怎么在/etc/crontab里面删除掉呢?
想了两天了没想出对策,求大神给个思路 展开
想了两天了没想出对策,求大神给个思路 展开
1个回答
展开全部
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
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即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询