如何使用linux命令删除或删除单个cron作业?

我为我的网站创建了cron作业,如下所示,它们工作正常。 我使用这个PHP脚本打印所有cron作业:

$cronfiles=exec('crontab -l',$output); echo "
"; print_r($output); 

哪个输出:

[0] => 0 0 * * * wget php -q http://www.example.com/report_send.php
[1] => 0 0 * * * wget php -q http://www.example.com/event_reminder.php
[2] => 0 0 * * * wget php -q http://www.example.com/user_reminder.php
[3] => * * * * * wget php -q http://www.example.com/cleardata.php

现在我想通过命令从我的服务器中删除或删除单个cron作业。 例如,我想从服务器中删除cron作业“ 0 0 * * * wget php -q http://www.example.com/event_reminder.php ”。

我试过crontab -r命令从我的服务器中删除所有cron作业,但我想删除特定的cron作业。

能帮我解决一下吗?

  1. 要将作业添加到crontab:

     (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman - 
  2. 要从crontab中删除作业:

     crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl' | crontab -u mobman - 
  3. 从crontab中删除所有内容:

     crontab -r 

没有什么是棘手的: - Linux中的STDOUT!

从根提示符类型

 crontab -e 

您现在可以编辑该文件并删除要删除的行。 如果您有该用户的提示,也可以使用它来编辑用户的crontab。

顺便说一句:我更喜欢将cronjobs添加到/etc/crontab 。 对我来说似乎更灵活一点。

查看用户Cronjob

使用以下语法查看waqleh用户的cronjob:

 crontab -u waqleh -l 

查看Root用户Cronjob

只需输入以下命令:

 crontab -l 

这应该列出crontab脚本的内容。

查看/ etc / crontab

也可以从/ etc / crontab文件运行cronjob。 要查看它,请输入:

 less /etc/crontab 

删除所有cron作业

当且仅当您想要停止所有cron作业时,您可以完全删除它们:

 crontab -r 

将删除整个crontab文件,因此如果您在其中列出了其他cron作业,请务必小心!

删除特定的cron作业

打开cron文件并删除要删除的cron

 crontab -e 

每行代表一个cron作业。 您可以使用ctrl + k删除任何cron,然后保存并退出

您可以不带参数运行crontab ,并通过stdin将其提供给新的crontab。

 crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab - 

crontab -l列出了当前的crontab作业

grep -v过滤一些行

crontab -将所有打印的内容添加到crontab文件中。