查看用户 Cronjob

查看用户 Cronjob

我为我的网站创建了 cron 作业,如下所示,它们运行良好。我使用以下 PHP 脚本打印所有 cron 作业:

$cronfiles=exec('crontab -l',$output);
echo "<pre>";
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 作业。例如,我想0 0 * * * wget php -q http://www.example.com/event_reminder.php从服务器中删除 cron 作业“ ”。

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

您能帮我解决问题吗?

答案1

  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!

答案2

从根提示符类型

crontab -e

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

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

答案3

查看用户 Cronjob

使用以下语法查看瓦格莱用户的 cronjob:

crontab -u waqleh -l

查看当前用户的 Cronjob

只需输入以下命令:

crontab -l

特定用户的 cron 文件

crontab -u USERNAME -l

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

查看 /etc/crontab

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

less /etc/crontab

删除所有 cron 作业

当且仅当如果你想停止所有的 cron 任务,你可以使用以下命令将其完全删除:

crontab -r

删除整个 crontab 文件对于当前用户来说,如果您在其中列出了其他 cron 作业,请小心!

添加/编辑/删除 cron 任务

您的用户的 cron 文件

crontab -e

特定用户的 cron 文件

crontab -u USERNAME -e

每行代表一个 cron 任务。您可以删除任何 cron(如果您使用 nano,请按 ctrl+k),然后保存并退出

答案4

注释掉 cron 任务第 2 行,在你的 shell 中使用此命令:

crontab -l | sed '2 s/^/#/g' | crontab -

用您选择的行号替换该数字2,或将其完全删除以注释掉所有作业。

它可以通过 cron 作业本身以编程方式调用,例如要在 12:00 注释所有作业,请将以下行添加到您的 crontab:

0 12 * * * crontab -l | sed 's/^/#/g' | crontab -

相关内容