如何使用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作业。
能帮我解决一下吗?
-
要将作业添加到crontab:
(crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
-
要从crontab中删除作业:
crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl' | crontab -u mobman -
-
从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文件中。