Autor Tópico: erro em execucao de script no crontab  (Lida 5236 vezes)

Offline fcandrade

  • Usuário Ubuntu
  • *
  • Mensagens: 9
    • Ver perfil
erro em execucao de script no crontab
« Online: 30 de Julho de 2008, 07:18 »
Ola a todos, estou com serios problemas como ubuntu 8.04 server, eu o utilizo com o mysql, instalei tudo sem problemas, o mysql esta rodando normalmente, porem eu tenho 1 script que funciona corretamente qdo eu me logo no servidor, mas se eu o coloco no crontab ele nao executa normalmente. Acontece que o script me gera 1 arquivo hoje de 144 mb qdo estou logado, e pelo crontab ele nao nao chega a 20mb ja descompactei os 2 arquivos e tem muita diferenca.
#crontab -e
30  14  *   *   *  /home/copias/diaria

diaria
#!/bin/bash
DIA="bkdados"$(date +%d%m%Y%H%M)".tar.gz"
cd /var/lib/mysq/dadosacao
tar czvf $DIA *
mv $DIA /home/copias/$DIA

onde esta o erro, e pq do erro, se alguem puder me orientar fico grato

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #1 Online: 30 de Julho de 2008, 21:22 »
fcandrade estava lendo seu tópico desde cedo e não achei nada que pudesse causar problemas.

É bom sempre que for usar uma rotina em segundo plano usar as variáveis com uma barra invertida (\), pois assim a variável só é resolvida (ou substituida) na hora em que a linha é executada, caso contrário assim que a rotina começa a ser executada as variáveis já são resolvidas (ao menos era assim enquanto eu usava Unix). Assim sua rotina ficaria assim:

Citar
#!/bin/bash
DIA="bkdados"\$(date +%d%m%Y%H%M)".tar.gz"
cd /var/lib/mysq/dadosacao
tar czvf \$DIA *
mv \$DIA /home/copias/$DIA

Porém isto não faz nenhuma diferença na sua rotina, em particular, então o que me vem a mente é o seguinte... Como esta colocando a rotina no cron? Porque você pode estar com problemas de permissão.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline fcandrade

  • Usuário Ubuntu
  • *
  • Mensagens: 9
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #2 Online: 20 de Agosto de 2008, 05:58 »
no crontab, como usuario
# crontaba -e

00  22  0  0  0  /home/copias/diaria


Offline gollvea

  • Usuário Ubuntu
  • *
  • Mensagens: 4
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #3 Online: 20 de Agosto de 2008, 10:24 »
experimente:
chmod + x /home/copias/diaria

Offline fcandrade

  • Usuário Ubuntu
  • *
  • Mensagens: 9
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #4 Online: 28 de Agosto de 2008, 08:43 »
o script diaria esta com propriedades chmod +x
se o problema for de permissao, como eu resolvo isso ?
gostaria de uma melhor explicacao, pois usava o slackware e ainda uso em 2 outras maquinas e nao tenho esse tipo de problema.
Se o problema for permissao, porque quando estou logado o script executa normalmente sem problemas ? nao estou entendendo.

Offline gollvea

  • Usuário Ubuntu
  • *
  • Mensagens: 4
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #5 Online: 31 de Agosto de 2008, 11:35 »
Se voce estiver no crontab do usuário root, experimente logar em um usuário normal, e colocar o script para rodar no crontab do usuário normal. Lógico, que com as permissões no arquivo.

Offline dudu_ubuntun

  • Usuário Ubuntu
  • *
  • Mensagens: 507
    • Ver perfil
    • O Tempo do Mundo
Re: erro em execucao de script no crontab
« Resposta #6 Online: 31 de Agosto de 2008, 16:29 »
Boa tarde, tente assim:

00  22  0  0  0  root /home/copias/diaria

Offline fcandrade

  • Usuário Ubuntu
  • *
  • Mensagens: 9
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #7 Online: 27 de Outubro de 2008, 15:09 »
desculpe a demora, estava e ainda estou com problemas de saude. Em referencia ao que esta acontecendo, eu nao consegui resolver o problema. Tudo ocorre normal se eu estiver conectado e executar o comando " ./diaria ", porem se eu deixar que o crontab execute o procedimento ele nao executa normal. Algum dica de alguem, pode ser ate mesmo em pvt para franciscocarlos65@hotmail.com ou franciscoacao@hotmail.com, estou com prazo final para resolver esse problema, se nao conseguir resolver ate o dia 15 de Novembro vou ter que instalar outra versao Linux ( o Slackware ). Agradeco a todos pela ajuda que puderem me dar

Offline dudu_ubuntun

  • Usuário Ubuntu
  • *
  • Mensagens: 507
    • Ver perfil
    • O Tempo do Mundo
Re: erro em execucao de script no crontab
« Resposta #8 Online: 27 de Outubro de 2008, 15:16 »
bom, tive um problema semelhante, quando coloco o comando no crontab nao executa, mas se rodar a partir de um terminal funciona, resolvi de uma maneira bem louca:

1) criei um par de chaves rsa, me loguei na propria maquina na conta root, importei a chave publica e coloquei a seguinte linha no crontab:


01 01 * * *  root ssh user_q_tem_o_script@ip_da_maquina /caminho/completo/para/o/script


bom, nao nem de longe a melhor maneira, mas enfim fucnonou pra mim

abs

Offline fcandrade

  • Usuário Ubuntu
  • *
  • Mensagens: 9
    • Ver perfil
Re: erro em execucao de script no crontab
« Resposta #9 Online: 27 de Outubro de 2008, 18:22 »
amigos funcionou da seguinte forma:
no crontab -e
00 04 * * * /home/copias/diaria >> /dev/tty1

Valeu pelas dicas de todos, fico realmente agradecido