Como encontrar um cron job se você sabe o tempo específico que ele executa?

6

Eu tenho usado o kSar para ver o uso de recursos dos meus servidores. Há um pico definido na criação do processo às 4h04, diariamente. Cron parece definir o intervalo que deve ser executado, mas não o horário específico

Como posso encontrar qual trabalho do cron é executado no momento?

    
por blarg 14.02.2014 / 14:59

2 respostas

6

Se você olhar para qualquer sistema CentOS 5 ou 6, o arquivo /etc/crontab é normalmente onde toda a ação é iniciada. Existem 4 diretórios que conterão vários scripts. Esses diretórios são nomeados:

$ ls -1d /etc/cron*
/etc/cron.d
/etc/cron.daily
/etc/cron.deny
/etc/cron.hourly
/etc/cron.monthly
/etc/crontab
/etc/cron.weekly

Os /etc/cron.d e /etc/cron.deny são especiais, então não vou discuti-los. Os quatro diretórios restantes: horário, diário, semanal, & mensalmente são exatamente o que os nomes deles implicam. Mas quando eles correm? Dê uma olhada no /etc/crontab para descobrir isso.

######################################################################
## run-parts
##
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
######################################################################

Seu problema com algo sendo executado diariamente @ 4:04 AM? É o diretório /etc/cron.daily que está causando isso. Você precisará se familiarizar com o que está nesse diretório para saber qual é o verdadeiro culpado. Mas se eu tivesse que adivinhar é provável que um desses dois caras:

$ ls -l /etc/cron.daily
logrotate
mlocate.cron

O que mais está sendo executado?

Se você tem um cronvolivante que está sobrecarregando seu sistema, consulte sempre o arquivo de log. Aqui está tudo funcionando às 4 da manhã no meu sistema CentOS 5:

$ grep " 04:" /var/log/cron | head -10
Feb  9 04:10:01 skinner crond[25640]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb  9 04:20:02 skinner crond[27086]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb  9 04:22:01 skinner crond[27432]: (root) CMD (run-parts /etc/cron.weekly)
Feb  9 04:22:01 skinner anacron[27436]: Updated timestamp for job 'cron.weekly' to 2014-02-09
Feb  9 04:30:01 skinner crond[28561]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb  9 04:40:01 skinner crond[30022]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb  9 04:50:01 skinner crond[31482]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 10 04:00:02 skinner crond[7578]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 10 04:01:01 skinner crond[7700]: (root) CMD (run-parts /etc/cron.hourly)
Feb 10 04:02:01 skinner crond[7934]: (root) CMD (run-parts /etc/cron.daily)

Observe os horários de 04:02 AM?

    
por 14.02.2014 / 15:15
4

A resposta anterior não leva em conta os cronjobs por usuário.

Veja também:

 /var/spool/cron/crontabs 
    
por 14.02.2014 / 15:21

Tags