Pedido de ajuda

1. Pedido de ajuda

Fernando
fernandoborges

(usa Ubuntu)

Enviado em 10/02/2008 - 13:41h

Pessoal, etou com um pequeno problema. Adianto que estou iniciando em scripts, por favor, tenham paciencia, rs!

Fiz um script simples (chamemos de 2.sh), contendo apenas comandos que executam outro shell script (digamos 1.sh) que serve para gerar um backup. Quando digito no shell #./2.sh, ele chama corretamente e executa o 1.sh. Mas quando programo o 2.sh no crontab, ele não executa corretamente. Alguém teria alguma dica?

O 2.sh é assim:
______________________

#!/bin/bash
cd /
cd /opt/teste/data
./1.sh
__________________
(Sendo que o s1.sh já é outro script que funciona corretamente)

Outra pergunta: Gostaria de um exemplo de tivesse, supondo, 3 comandos, mas só executasse o próximo depois de completamente concluído o anterior. Alguém pode ajudar?


  


2. Complementando:

Fernando
fernandoborges

(usa Ubuntu)

Enviado em 10/02/2008 - 15:21h

Resumindo, se na linha de comando eu dou ./2.sh, o script roda normalmente do jeito que eu quero. Já quando chega o momento do cronometrado no crontab, o script 2.sh (que contém o 1.sh) não executa corretamente.

No meu crontab está assim (todo dia as 17h:)
Obs: Coloquei os scripts na /etc/cron.daily por comodidade, sei q não necessariamente precisa ser lá.

00 17 * * * root /etc/cron.daily/2.sh
Ja tentei tb:
00 17 * * * root /etc/cron.daily/./2.sh

O q to fazendo de errado?



3. Re: Pedido de ajuda

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 11/02/2008 - 15:53h

fernandoborges,

o que é não executa corretamente ?

põe o que ocorre exatamente quando executa de uma forma e quando executa da outra para poder ter idéia do que possa ser.

O que deveria fazer que não faz ?



4. Resolvido. Dica:

Fernando
fernandoborges

(usa Ubuntu)

Enviado em 11/02/2008 - 15:55h

Pessoal,
Depois de tentar e pesquisar bastante, encontrei o problema. O "X" da questão está nas "Variáveis de Ambiente". O Script precisa conter as variáveis de ambiente para poder executar normalmente. Sem elas, vc consegue executar o script dando um ./scrip.sh, mas se colocá-lo no cron, ele não vai executar corretamente.
Dica: Verifique quais são as variáveis de ambiente que são utilizadas para executar o seu script e adicione-as/exporte-as dentro do seu script. Um bom link é:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=855&pagina=2

É isso aí, vivendo, estudando e aprendendo!
Abração a todos!


5. Obrigado!

Fernando
fernandoborges

(usa Ubuntu)

Enviado em 11/02/2008 - 15:56h

grj_rj,

Achei o problema, obrigado pela força!


6. Re: Pedido de ajuda

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 11/02/2008 - 16:45h

O script 2.sh que você postou não adianta

#!/bin/bash
cd /
cd /opt/teste/data
./1.sh

pois você disse que o 1.sh não funciona direito e o código não revela nada sobre 1.sh


7. Re: Pedido de ajuda

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 11/02/2008 - 16:49h

fernandoborges,

legal.

Eu estava escrevendo a mensagem acima e tive que parar para fazer outra coisa. Quando terminei de escrever e postei que fui ver que você já tinha resolvido.


8. Re: Pedido de ajuda

Alexandre Barboza
alexandrebchaves

(usa CentOS)

Enviado em 11/02/2008 - 17:07h

O script 1.sh está dentro do diretorio /opt/teste/data ???








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts