Rimuovi tutti i lavori "at"


32

So che per rimuovere un atlavoro pianificato devo usare atrm "numjob1 numjob2", ma c'è un modo semplice per farlo per tutti i lavori?

Risposte:


31

È possibile eseguire questo comando per rimuovere tutti i lavori in atq

 for i in `atq | awk '{print $1}'`;do atrm $i;done

2
variazione su questa rispostaat -l | awk '{printf "%s ", $1}' | xargs atrm
Sergiy Kolodyazhnyy,

10

Potresti fare qualcosa del genere:

for i in $(atq | cut -f 1); do atrm $i; done

In FreeBSD la cut -f3prima colonna è data
David Jashi,



1

Ecco la mia versione di xargs che evita le parentesi graffe ed è spero intuitiva:

atq | cut -f 1 | xargs atrm

È inoltre possibile eseguire grep su lavori specifici in base a data / ora / ID utente e quindi rimuoverli:

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

0

Ho avuto più di 58k lavori nell'ATD (qualcuno ha riavviato il server e per qualche ragione il servizio ATD non è stato avviato). Rimuovere i lavori usando atrm è molto doloroso per una coda molto alta.

Ho smesso di atd e cancellato tutte le directory da / var / spool / atjobs e file da / var / spool / atspool . Per me ha funzionato.

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

Non dici mai nulla di atdnuovo su come riavviare , e se questo ha avuto successo, né dici per quale Unix sarebbe una soluzione adeguata. Come ti sei assicurato che i lavori degli altri utenti non fossero cancellati?
Kusalananda

Ok! Scusate! È necessario avviare atd dopo il processo. La mia soluzione è per "SUSE Linux Enterprise Server 12". Ma penso che possa essere utilizzato in altre distribuzioni. Ho trovato le informazioni delle directory in "man". Nella mia situazione, solo root usa atd, quindi rimuovere i file era sicuro.
Felipe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.