删除所有的at工作


32

我知道要删除at必须使用的预定作业atrm "numjob1 numjob2",但是是否有一种简单的方法可以对所有作业执行此操作?

Answers:






1

这是我的xargs版本,它避免使用花括号,并且希望很直观:

atq | cut -f 1 | xargs atrm

您还可以按时间戳记/用户ID对特定作业进行grep,然后将其删除:

atq | grep "2018-10-22 16:" | cut -f 1 | xargs atrm

0

我在atd中有58k多个作业(有人重新启动了服务器,并且由于某种原因atd服务未启动)。对于非常高的队列,使用atrm删除作业非常痛苦。

我停止了atd并从/ var / spool / atjobs中删除了所有目录,并从/ var / spool / atspool中删除了文件。对我来说,它奏效了。

rm -rf /var/spool/atjobs/* ; rm /var/spool/atspool/*

您永远不会说什么atd重新启动,是否成功了,也不会提及什么Unix将是合适的解决方案。您如何确保未删除其他用户的作业?
库沙兰达

好!抱歉! 该过程后需要启动atd。我的解决方案适用于“ SUSE Linux Enterprise Server 12”。但我认为它可以在其他发行版中使用。我在“ man”中找到目录的信息。在我的情况下,只有root使用atd,然后删除文件是安全的。
费利佩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.