Ajuda no Crontab

1. Ajuda no Crontab

Francisco Jorge
FR4NC15C0JH

(usa Ubuntu)

Enviado em 16/06/2014 - 10:21h

Bom dia VOL
Estou com problemas para configurar um script automático no crontab. Fiz muita pesquisa na net e no VOL, e fiz todos os teste disponíveis que achei.
Preciso executar um script de 5 e 5 minutos todos os dias, o problema que ele tem saída de vídeo, ou seja, qd executo ele me mostra msg na tela. O mais complicado e que não tenho como retirar tais mensagens, pq o programa é de uma empresa terceira.
Mas vi que algumas pessoas conseguem contorna isso.
Usei o DISPLAY:0.0 não me deu resultado.
O que posso fazer?
-------------------------------------------------------------------------------------------------------
Meu comando crontab esta assim:

*/5 * * * * DISPLAY=:0.0 /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh --play

-------------------------------------------------------------------------------------------------------
Mensagem de saída ao executar o script:

[root@srvapp1 WebEDIMercadorClient_V3.6.1]# ./startClient.sh
WARN [09:34:16] - Erro de configuração do cliente. Propriedade 'all.timestamp .separator' não definida no arquivo de configuração. Usando valor default '.T S'
INFO [09:34:17] - setCIO do processo principal
INFO [09:34:17] - Ignorando teste da conexão com a Internet
INFO [09:34:18] - Conectando ao Mercador. Aguarde ...
INFO [09:34:18] - ConCIO do processo de envio de arquivos.mercador.com:443
INFO [09:34:20] - Nao foram encontrados arquivos no diretorio de saida (./OUT) para
INFO [09:34:21] - Buscando conteúdo do documento 557887457 no Mercador
INFO [09:34:21] - Arquivo ./IN/pedidosautomaticos/PD000000001186310.txt disponà ­vel no diretório de arquivos recebidos (./IN/pedidosautomaticos)
INFO [09:34:22] - FIM do processo de recebimento de arquivos
INFO [09:34:22] - INICIO do MercadorSummaryFile
INFO [09:34:23] - FIM do MercadorSummaryFile
INFO [09:34:23] - Desconectado do servidor
INFO [09:34:23] - FIM do processo principal
INFO [09:34:23] - Mercador Client finalizado.
-------------------------------------------------------------------------------------------------------
Saida do meu log do cron:

[root@srvapp1 /]# tail -f /var/log/cron
Jun 16 09:35:01 srvapp1 CROND[19692]: (root) CMD (root /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/./startClient.sh)
Jun 16 09:39:05 srvapp1 crontab[19997]: (root) BEGIN EDIT (root)
Jun 16 09:40:01 srvapp1 CROND[20078]: (root) CMD (root /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/./startClient.sh)
Jun 16 09:40:14 srvapp1 crontab[19997]: (root) REPLACE (root)
Jun 16 09:40:14 srvapp1 crontab[19997]: (root) END EDIT (root)
Jun 16 09:40:19 srvapp1 crond[20090]: (CRON) STARTUP (1.4.4)
Jun 16 09:40:19 srvapp1 crond[20090]: (CRON) INFO (running with inotify support)
Jun 16 09:40:19 srvapp1 crond[20090]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
Jun 16 09:45:01 srvapp1 CROND[20434]: (root) CMD (DISPLAY=:0.0 /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh --play)
Jun 16 09:50:01 srvapp1 CROND[20776]: (root) CMD (DISPLAY=:0.0 /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh --play)
Jun 16 09:55:01 srvapp1 CROND[21091]: (root) CMD (DISPLAY=:0.0 /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh --play)
Jun 16 10:00:01 srvapp1 CROND[21450]: (root) CMD (DISPLAY=:0.0 /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh --play)
Jun 16 10:01:01 srvapp1 CROND[21530]: (root) CMD (run-parts /etc/cron.hourly)
Jun 16 10:01:01 srvapp1 run-parts(/etc/cron.hourly)[21530]: starting 0anacron
Jun 16 10:01:01 srvapp1 run-parts(/etc/cron.hourly)[21540]: finished 0anacron



  


2. Re: Ajuda no Crontab

Carlos Alberto Mazzer
cmazzer

(usa Ubuntu)

Enviado em 16/06/2014 - 19:38h

Você pode direcionar a saída padrão de tela para algum lugar.
Ex. para eliminar a saída de tela.

/home/programa/programa.sh > /dev/null

Documento de referência : http://www.devin.com.br/shell-entrada-e-saida/


3. Re: Ajuda no Crontab

Francisco Jorge
FR4NC15C0JH

(usa Ubuntu)

Enviado em 17/06/2014 - 08:57h

cmazzer escreveu:

Você pode direcionar a saída padrão de tela para algum lugar.
Ex. para eliminar a saída de tela.

/home/programa/programa.sh > /dev/null

Documento de referência : http://www.devin.com.br/shell-entrada-e-saida/


Blz cmazzer...
Vou testar aqui e post se deu certo.


4. Re: Ajuda no Crontab

Francisco Jorge
FR4NC15C0JH

(usa Ubuntu)

Enviado em 17/06/2014 - 11:32h

cmazzer escreveu:

Você pode direcionar a saída padrão de tela para algum lugar.
Ex. para eliminar a saída de tela.

/home/programa/programa.sh > /dev/null

Documento de referência : http://www.devin.com.br/shell-entrada-e-saida/


cmazzer fiz conforme sugerido e msm assim não executa.
o objetivo desse script e entrar em uma url e baixar arquivos txt e jogar dentro do diretório do próprio programa.
Mas alguma sugestão do que posso fazer?

-------------------------------------------------------------------------------------------------------
Segue meu cron:

*/5 * * * * /totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null

-------------------------------------------------------------------------------------------------------
Log do crontab:

[root@srvapp1 WebEDIMercadorClient_V3.6.1]# tail -f /var/log/cron
Jun 17 10:50:01 srvapp1 CROND[23024]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 10:55:01 srvapp1 CROND[23386]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 11:00:01 srvapp1 CROND[23716]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 11:01:01 srvapp1 CROND[23805]: (root) CMD (run-parts /etc/cron.hourly)
Jun 17 11:01:01 srvapp1 run-parts(/etc/cron.hourly)[23805]: starting 0anacron
Jun 17 11:01:02 srvapp1 run-parts(/etc/cron.hourly)[23815]: finished 0anacron
Jun 17 11:05:01 srvapp1 CROND[24099]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 11:10:01 srvapp1 CROND[24424]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 11:15:01 srvapp1 CROND[24885]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)
Jun 17 11:20:01 srvapp1 CROND[25235]: (root) CMD (/totvs/protheus11/protheus_data/dirdoc/co01/shared/WebEDIMercadorClient_V3.6.1/startClient.sh > /dev/null)



5. Re: Ajuda no Crontab

Paulo
paulo1205

(usa Ubuntu)

Enviado em 17/06/2014 - 16:01h

Será que não existe um motivo para gerar a saída na tela? Alguma coisa que alguém tenha de clicar em OK, ou confirmar algum resultado? Porque, se não tiver, colocar script no crontab que gere saída no ambiente gráfico é uma das coisas mais energúmenas que alguém poderia fazer.

Como a Tótus (que se escreve "TOTVS") faz propaganda dos seus sistemas no rádio, usando a voz da Marília Gabriela, eu esperaria que não incorresse em algo tão primário sem necessidade.

O que acontece se você tirar a definição da varíavel DISPLAY antes da invocação do programa?

Se isso não funcionar, você pode usar o Xvfb, um servidor X11 virtual, ocupando um display alto (:25.0, por exemplo), e chamar o tal programa apontando a variável DISPLAY para essa valor alto.


6. Re: Ajuda no Crontab

Francisco Jorge
FR4NC15C0JH

(usa Ubuntu)

Enviado em 18/06/2014 - 08:56h

paulo1205 escreveu:

Será que não existe um motivo para gerar a saída na tela? Alguma coisa que alguém tenha de clicar em OK, ou confirmar algum resultado? Porque, se não tiver, colocar script no crontab que gere saída no ambiente gráfico é uma das coisas mais energúmenas que alguém poderia fazer.

Como a Tótus (que se escreve "TOTVS") faz propaganda dos seus sistemas no rádio, usando a voz da Marília Gabriela, eu esperaria que não incorresse em algo tão primário sem necessidade.

O que acontece se você tirar a definição da varíavel DISPLAY antes da invocação do programa?

Se isso não funcionar, você pode usar o Xvfb, um servidor X11 virtual, ocupando um display alto (:25.0, por exemplo), e chamar o tal programa apontando a variável DISPLAY para essa valor alto.


Não cara... esquece o diretório TOTVS.
O programa esta dentro do diretório da TOTVS só pra agilizar um outro procedimento, que em nd influencia no crontab.
Esse script o que ele faz, e o que sai em tela:
Ao executar ele, ele entra no site do msm para puxar pedidos gerados no formato txt, e jogar dentro do diretório.
O que é mostrado em tela? Só o resumo do que foi ou não importado.

O que eu quero com o crontab? Agilizar o serviço de um dos funcionários do faturamento para não ficar executando o script varias vezes ao dia para baixar tais pedidos, e sim td ser feito automático.

Já testei tirando o DISPLAY, usando root na frente, usando sh na frente, usando só o caminho do diretório e muitas outras formas que achei em tutoriais na web e no VOL.
O ultimo teste foi desativando a saída de vídeo usando o /dev/null como sugerido pelo colega acima, que tb não funcionou.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts