使用命令/脚本增加/删除crontab项

使用命令/脚本增加/删除crontab项,记录一下吧.

crontab -r :表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除

 

一, 删某一项cron任务

方法1(仅适用root,不推荐)
修改/var/spool/cron/root文件

这个方法有以下问题:
1, 只有root用户可以修改,其它用户均没有权限,因为/var/spool/cron这个目录的属主及属组均是root,且目录权限是700, 因此其它用户没有权限进入此目录去修改自己的/var/spool/cron/username文件.

方法2
如果某个用户要删除自己的cron任务, 那么只需要执行

crontab -l

crontab -l | grep -v 'config-edit.163.com/config_dir/newsyn' | crontab -

crontab -l | grep -v 'tomcatRoot/jd_product/data/jd_product.txt' | crontab -

如果root需要删除某个用户的cron任务, 那么

crontab -u USERNAME -l

crontab -u USERNAME -l | grep -v 'config-edit.163.com/config_dir/newsyn'  | crontab -u USERNAME -

crontab -u USERNAME -l | grep -v 'tomcatRoot/jd_product/data/jd_product.txt'  | crontab -u USERNAME -

提示: -u参数仅有root可以调用.

也可以这么做

crontab -l | grep -v 'config-edit.163.com/config_dir/newsyn' > cron.base
crontab cron.base

或者使用脚本:remove_crontab.sh

temp_file=`mktemp`

crontab -l > $temp_file

grep "bash /home/zcy/script/restart.sh" $temp_file > /dev/null 2>&1
if [ "$?" == "0" ];then
    sed -i '/bash \/home1\/zcy\/script\/restart.sh/d' $temp_file
    crontab $temp_file
fi

rm $temp_file

二, 增加一项cron任务

#普通用户可以执行
(crontab -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -

#root用户可以执行
(crontab -U USERNAME -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u USERNAME -

三, 删除所有cron任务(清除cron)

crontab -r

crontab -r -u USERNAME
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值