Inicial > SO > Verificar logs de execução da crontab Linux

Verificar logs de execução da crontab Linux

Bom hoje me colocaram uma situação aonde que estava agendado alguns jobs de estatistica em um ambiente de BI na crontab para executar porém não gerava logs, perguntaram se tinha executado o job com sucesso ou não, bom na hora eu apenas chequei no banco de dados e vi que as estatisticas estavão coletadas no dia, verifiquei que na crontab executava todo dia na sua scheduled, então verifiquei se tinha alguma tabela diferente das estatisticas de hoje e vi que não tinha nenhuma tabela com estatisticas atrasadas, então falei que executou com sucesso, porém há 1 maneira de verificar essas logs, segue:

No /etc/crontab há um arquivo de configuração da crontab, segue:

[root@hodb001vtr mail]# cd /etc
[root@hodb001vtr etc]# ls -ltr |grep crontab
-rw-r–r–. 1 root root 448 Apr 28 2010 crontab
[root@hodb001vtr etc]# vi crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed

Segue sintax e as options que podem ser passados no comando crontab:

[root@hodb001vtr cron]# crontab -h
crontab: invalid option — ‘h’
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user’s crontab)
-l (list user’s crontab)
-r (delete user’s crontab)
-i (prompt before deleting user’s crontab)
-s (selinux context)
[root@hodb001vtr cron]#

Bom o arquivo da crontab quando editamos ou adicionamos entradas com o crontab -e, ele gera 1 arquivo de crontab conforme o usuario no caminho:

[root@hodb001vtr cron]# pwd
/var/spool/cron
[root@hodb001vtr cron]# ls -ltr
total 8
-rw——-. 1 root root 30 Mar 28 20:10 root
-rw——-. 1 oracle root 57 Mar 28 20:11 oracle
[root@hodb001vtr cron]# cat oracle
00      07      *       *       *       /ibmdba/preventivo/job/fs_clean_oracle.sh
[root@hodb001vtr cron]#

Verificado que ele envia e-mail para o usuário toda vez que executa, verificado nos logs da caixa do usuario que executou com sucesso, segue:

[root@hodb001vtr mail]# cd /var/mail
[root@hodb001vtr mail]# ls -ltr
total 4
-rw-rw—-. 1 rpc mail 0 Jun 28 2011 rpc
-rw-rw—-. 1 oracle mail 0 Jun 28 2011 oracle
-rw——-. 1 root mail 665 Jul 4 2011 root
-rw-rw—-. 1 brunao mail 0 Dec 21 16:55 brunao
-rw-rw—-. 1 gustavo mail 0 Dec 21 16:55 gustavo

Verificando se existe erros no log:
[root@hodb001vtr mail]#tail -40 oracle
/ibmdba/preventivo/job/fs_clean_oracle.sh

produced the following output:

JOB Info —————————————————-
Process ID               : 26700
Hostname                 : hodb01vtr
Start Date               : 20120328.070000
Log Dir.                 : /ibmdba/preventivo/log
Backup Logs Ret.         : 30
Info Parameters……………………………………….
Script Executed          : /ibmdba/preventivo/job/fs_clean_oracle.sh
JOB Info —————————————————-

……….Script /ibmdba/preventivo/job/fs_clean_oracle.sh terminou OK
Removendo log’s antigos dos script’s.

……….Log’s antigos removidos

Wed Mar 28 07:00:02 EST 2012 —————-End of Script——————
Rotina encerrada, RC=0, status=Normal, elapsed=0-00:00:02
Postando apenas para curiosidade!

Abraço!

Categorias:SO
  1. 06/15/2014 às 18:52

    outra forma é usar o comando:

    sudo grep cron /var/log/syslog

  1. No trackbacks yet.

Deixe um comentário