Eu sei que para remover um at
trabalho agendado que tenho que usar atrm "numjob1 numjob2"
, mas existe uma maneira fácil de fazer isso em todos os trabalhos?
command-line
at
robob
fonte
fonte
at -l | awk '{printf "%s ", $1}' | xargs atrm
Você poderia fazer algo assim:
fonte
cut -f3
primeira coluna é a dataIsso me parece uma linha curta:
fonte
Para mais sistemas AIX 6, você pode simplesmente fazer:
Ref: http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.cmds%2Fdoc%2Faixcmds1%2Fatrm.htm
fonte
Aqui está minha versão do xargs, que evita aparelhos e, esperamos, seja intuitiva:
Você também pode receber trabalhos específicos por timestamp / userid e removê-los:
fonte
Eu tinha mais de 58k trabalhos no atd (alguém reiniciou o servidor e, por algum motivo, o serviço atd não foi iniciado). A remoção dos trabalhos usando o atrm é muito dolorosa para uma fila muito alta.
Parei o atd e excluí todos os diretórios de / var / spool / atjobs e arquivos de / var / spool / atspool . Para mim funcionou.
fonte
atd
novo, e se isso foi bem-sucedido, nem menciona para que seria a solução adequada para o Unix. Como você garantiu que os trabalhos de outros usuários não fossem excluídos?