スケジュールされたat
ジョブを削除するにはatrm "numjob1 numjob2"
を使用する必要があることを知っていますが、すべてのジョブに対して簡単に実行できる方法はありますか?
このコマンドを実行して、atqのすべてのジョブを削除できます
for i in `atq | awk '{print $1}'`;do atrm $i;done
あなたはこのようなことをすることができます:
for i in $(atq | cut -f 1); do atrm $i; done
これは私には短い行のようです:
atrm $(atq | cut -f1)
より多くのAIX 6システムについては、あなたは単に行うことができます:
atrm -
中かっこを避け、うまくいけば直感的になる私のxargsバージョンは次のとおりです。
atq | cut -f 1 | xargs atrm
特定のジョブをタイムスタンプ/ユーザーIDでgrepしてから削除することもできます。
atq | grep "2018-10-22 16:" | cut -f 1 | xargs atrm
Atdに5万8千を超えるジョブがありました(誰かがサーバーを再起動し、何らかの理由でatdサービスが開始されませんでした)。 atrmを使用してジョブを削除することは、非常に高いキューでは非常に困難です。
Atdを停止し、すべてのディレクトリを/ var/spool/atjobsから、ファイルを/ var/spool/atspoolから削除しました。私にとってはうまくいきました。
rm -rf /var/spool/atjobs/* ; rm /var/spool/atspool/*