すべての「at」ジョブを削除する


32

私がat使用しなければならないスケジュールされたジョブを削除することを知ってatrm "numjob1 numjob2"いますが、すべてのジョブに対してそれを行う簡単な方法はありますか?

回答:






1

これは、中括弧を避け、できれば直感的なxargsバージョンです。

atq | cut -f 1 | xargs atrm

タイムスタンプ/ユーザーIDで特定のジョブをgrepしてから削除することもできます。

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

0

atdに58,000以上のジョブがありました(誰かがサーバーをリブートし、何らかの理由でatdサービスが開始されませんでした)。atrmを使用してジョブを削除することは、非常に高いキューに対して非常に苦痛です。

atdを停止し、すべてのディレクトリ/ var / spool / atjobsから削除し、ファイルを/ var / spool / atspoolから削除しました。私にとってはうまくいきました。

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

atd再起動について何も言わず、それが成功したかどうか、またこれがどのUnixに適したソリューションであるかについても言及しません。他のユーザーのジョブが削除されていないことをどのように確認しましたか?
クサラナンダ

OK!ごめんなさい!プロセスの後にatdを開始する必要があります。私の解決策は「SUSE Linux Enterprise Server 12」です。しかし、他のディストリビューションでも使用できると思います。ディレクトリの情報は「man」で見つけました。私の状況では、rootのみがatdを使用しているため、ファイルを削除しても安全でした。
フェリペ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.