我为我的网站创建了 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
要将作业添加到 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!
答案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 -