crontab não funciona! [RESOLVIDO]

1. crontab não funciona! [RESOLVIDO]

Paulo Oliveira dos Santos
pauloliver

(usa Debian)

Enviado em 11/06/2008 - 09:37h

Bom dia a Todos!

Recetemente configurei uma máquina na empresa onde trabalho com o Debian 4.0 etch, kernel 2.6.24, iptables 1.4, squid 2.6 e sarg 2.2.2, tudo funcionou direito, apliquei regras de firewall, compartilhei internet, configurei o squid e o sarg, tudo funciona sem erros.
Mas quando coloque um script no crontab, para o sarg gerar relatórios todos os dias, o mesmo não executa o script. Segue os scripts que usei:

/etc/sarg/sarg-dia.conf:

#!/bin/bash

# Relatório Squid Diario

language Portuguese

access_log /var/log/squid/access.log

title "Relatorio de uso da Internet"

font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color green

temporary_dir /tmp

output_dir /var/www/squid/squid-reports

USER/CONNECT/BYTES/TIME

topuser_sort_field BYTES reverse

SITE/CONNECT/BYTES/TIME

user_sort_field BYTES reverse

exclude_users /etc/sarg/exclude.users

exclude_hosts /etc/sarg/exclude.hosts

date_format e

lastlog 90

remove_temp_files yes

index yes

overwrite_report yes

(ignore/ip/everybody)

records_without_userid ip

use_comma no

CONNECT/BYTES A/D

topsites_sort_order BYTES D

exclude_codes /etc/sarg/exclude_codes

max_elapsed 28800000


report_typie topsites users_sites sites_users

date_time denied auth_failures site_user_time_date


exclude_string /etc/sarg/exclude.strings

show_successful_message no

topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE

topuser_num 100

resolve_ip no

user_ip no

usertab /etc/sarg/sarg.usertab

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

/etc/cron.daily/sarg-dia:

#!/bin/bash

HOJE=$(date +%d/%m/%Y)

sarg -f /etc/sarg/sarg-dia.conf -d $HOJE-$HOJE
exit 0

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

/etc/crontab:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

59 23 * * * root /etc/cron.daily/sarg-dia

Resumindo, fiz conforme achei nos artigos do vol. Se eu executo manualmente o scrip sarg-dia, ele gera os relatório, sem erro, o problema é o crontab que não executa o script na hora programada.
Já verifiquei em outros foruns, e vi pessoas que tiveram o mesmo problema, mas as soluçoes que foram ditas não funcionaram.
Existe outra forma de eu automatizar um script para executar todos os dias em horarios programados?

Desde já agradeço!




  


2. Re: crontab não funciona! [RESOLVIDO]

Fabio Maran
maran

(usa Debian)

Enviado em 11/06/2008 - 09:42h

primeiramente se teu script exiber resultados no video ele não ra funcionar no cron.
Eu ja comentei um topico parecido segue o link

http://www.vivaolinux.com.br/comunidades/verTopico.php?codigo=9&codtopico=14547

Abraços



3. Re: crontab não funciona! [RESOLVIDO]

Paulo Oliveira dos Santos
pauloliver

(usa Debian)

Enviado em 11/06/2008 - 10:11h

Bom dia maran!

Obrigado pela ajuda!

Mas nesse caso como farei para que o script não exiba saida de tela? Existe algum comando do sarg que omite saida na tela?
Verifiquei na ajuda do sarg mas não encontrei algum comando para tal...

Novamente agradeço a atenção!



4. Re: crontab não funciona! [RESOLVIDO]

Fabio Maran
maran

(usa Debian)

Enviado em 11/06/2008 - 10:47h

Opa que isso.
Bom vamos lá, verificar script!!!

Para verificar seu script , você tera que ler ele inteiro ou seja.
Tera que reparar se em algum momenro ele emite um aviso, ou uma informação no video.
O cron não retoprna resultados erros, ou faz perguntas.
Ele apenas te relata um e-mail, ou seja

Digamos que meu script tenha
que fazer uma pergunta ou emitir um resultado como

echo hahah funcinou

Não irá funcionar.
Então leia e releia, e envie resultados por e-mail, ai irá tudo funcionar.

Um abraço


5. Re: crontab não funciona! [RESOLVIDO]

Paulo Oliveira dos Santos
pauloliver

(usa Debian)

Enviado em 11/06/2008 - 11:52h

Então maran, a unica coisa que exibe na tela quando eu executo o /etc/cron.daily/sarg-dia é a mensagem do sarg lendo relatório, mas isso eu não consegui ocultar...


6. crontab não funciona!

Paulo Oliveira dos Santos
pauloliver

(usa Debian)

Enviado em 11/06/2008 - 14:03h

Olá maran, descobri o problema! ufa!

O problema é que eu achava que apenas editando o arquivo /etc/crontab e adicionado o comando era suficiente para o crontab executar, e esqueci que tem que reiniciar o serviço.
Agora funciona correto...

Obrigado pela ajuda e tenha uma boa tarde!
Valeu!!!!


7. crontab não funciona!

Jefferson Nogueira de Oliveira
jeff.jno

(usa Fedora)

Enviado em 19/02/2009 - 02:17h

Amigo estou com o mesmo problema olhei todas os post aqui, mas pra mim não ficou claro o que você fez...
O meu script do sarg é o mesmo que o seu apenas uma diferença eu dei permissao para ele do tipo 777 ele estar na pasta

# /etc/squid/sarg.sh
E eu coloquei ele no crontab utilizando o comando:
# crontab -e
Dai utilizei a seguinte linha de comando:
00 01 * * * root /etc/squid/sarg.sh

E ele nao executa o comando na hora H passa batido.



8. Re: crontab não funciona! [RESOLVIDO]

Paulo Oliveira dos Santos
pauloliver

(usa Debian)

Enviado em 19/02/2009 - 07:01h

Bom dia Amigo!
Primeiramente, o que eu fiz, foi criar um script(sarg-dia) que executasse o sarg com as configurações que estão no arquivo sarg-dia.conf. Os dois estão em /etc/sarg.
No arquivo crontab, eu coloquei a seguinte linha:

################################

55 23 * * * root /etc/sarg/./sarg-dia

################################

Dentro do sarg-dia tem as seguintes linhas:

################################
#!/bin/bash

HOJE=$(date +%d/%m/%y)

sarg -f /etc/sarg/sarg-dia.conf -d $HOJE-$HOJE

exit 0

################################

Dei permissão de execusão para os dois scripts (chmod +x nomedoarquivo) e pronto, funcionou direitinho.

Qualquer dúvida, estamos ai!



9. Re: crontab não funciona! [RESOLVIDO]

Reuben Palmer Rezende de Sousa
Reuben_p

(usa Debian)

Enviado em 25/07/2010 - 03:23h

Coloca "DISPLAY=:0.0" (sem as aspas) antes do comando que abre o modo gráfico.

Exemplo:

DISPLAY=:0.0 /usr/bin/amarok --play

Pelo menos aqui em casa funciona :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts