comando para contar o número de tarefas agendadas ativas no crontabs

3

Declaração do problema

Eu tenho 5 caixas solares, algumas têm o Solaris 10 e outras têm o Solaris 9.
Todos eles têm muitos cronjobs em seus crontabs.

Eu gostaria de saber quantos cronjobs ativos estão disponíveis, então eu conto manualmente os cronjobs .

Agora estou procurando um comando [bash shell que estou usando] para contar o número de cronjobs ativos.

Eu tentei crontab -l|wc -l , mas meu crontab contém muitas linhas de comentários que também são contadas com o meu comando.

O que tentei

crontab -l|wc -l

O que estou esperando

Um comando bash shell para contar o número de cronjobs ativos (excluindo linhas de comentários).

    
por Balaswamy vaddeman 09.02.2012 / 06:33

4 respostas

2

Você precisa excluir tudo o que não começar com um dígito (o minuto). Mas para conseguir isso, remova qualquer espaço em branco primeiro. Isso eliminará comentários, linhas em branco, atribuições de variáveis, etc.

crontab -l | sed 's/^ *//;/^[*@0-9]/!d' | wc -l
    
por 09.02.2012 / 07:27
2
crontab -l | grep -v '^#'

Simples.

O número?

crontab -l | grep -v '^#' | wc -l

ou

crontab -l | grep -c -v '^#'

(último inspirado por uma resposta aqui).

Isso fornecerá a você (número de) tarefas agendadas agendadas, não as tarefas agendadas ativas, o que poderia significar as tarefas que estão em execução no momento.

    
por 09.02.2012 / 10:26
2

Por que remover caracteres? Tente o seguinte:

$ crontab -l | grep -c "^[0-9*]"
    
por 09.02.2012 / 09:40
0

depois de várias tentativas, recebi o comando abaixo.

crontab -l |sed -e '/#/d'|wc -l

mais em sed

mais em wc

    
por 09.02.2012 / 06:35