[RESOLVIDO] Script não roda completo pelo crontab

2005-10-26 Por tôpico Marcos




A pessoal, problema resolvido, o que acontecia era o seguinte.
Quando rodamos o script pelo cron existe um limite de quantidade de caracteres a serem usados na ilnha de comando, no primeiro script tinha um echo mandando mensagens pra tela que eu tinah usado pra monitorar o q o script estava fazendo e acabei deixando l.
Ao comentar o echo o script rodou normalmente at o final.
Porm, o tar no executava corretamente em todos os usurios, at certo usuario ele fazia o backup certo, depois ficava uns arquivos de 20bytes.
O detalhes era que eu tinha rodado o tar com o caminho completo da pasta a ser backupeada e aparecia a mensagem:

tar: Removing leading `/' from member names

Como isso ficava na linha de comando, quando chegava no limite do shell ele abortava o tar.
Por isso quando estava com o echo ia at certo usuario e com o echo comentando passava um pouco mas ainda no chegava at o final.
Pra eliminar essa mensagem foi s dar um cd nomediretoriobackup

Valeu a todos que deram uma fora.

Segue abaixo como ficou o script e o crontab.

 script 

#!/bin/sh

ls /dados/home  /scripts/users.txt
cd /dados/home

for i in `cat /scripts/users.txt`; do
 tar -czf /backup/$i.tar.gz $i 21  /dev/null
 echo tar -czf /backup/$i.tar.gz /dados/home/$i - `date`  /scripts/loguserbkp.txt
done



# 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.
# This file also has a username field, 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 run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

# minuto hora diames mes diasemana usuario comando
07 1 * * * root sh /scripts/backup.sh
37 1 * * * root sh /scripts/bkpusers.sh
07 12 * * * root sh /scripts/backup.sh
07 12 * * * root sh /scripts/bkpusers.sh
 






 Mensagem encaminhada 

De: Marcos [EMAIL PROTECTED]
Para: debian-user-portuguese@lists.debian.org
Assunto: Re: Script no roda completo pelo crontab
Data: Fri, 21 Oct 2005 16:02:19 -0200
Ol,

Deixei o script pra rodar a noite sem o echo exibindo na tela e habilitei novamente o tar.
Aconteceu algo semelhante, o script roda normalmente mas o tar s funciona at determinado usuario, os echos que direcionam o comando executado pro arquivo chegam at o final dos usuarios mas o tar no executa em todos, os arquivos .tar.gz que n oficaram corretos ficaram com um tamanho de 20bytes. Deve ser algo em relao a limite mesmo, vou dar uma pesquisada nesse sentido.



Em Sex, 2005-10-21 s 10:53 -0200, Bruno de Oliveira Schneider escreveu: 


On 10/20/05, Marcos wrote:
  Funcionou parcialmente:

  O script dessa maneira funciona. Comentei a linha do echo e o cron rodou
 o script at o final mandando a saida do outro echo para o arquivo. Foram
 todos os usuarios certinho. Se eu descomente o primeiro echo ele 
 interrompido em certo ponto.
  Vou deixar rodando sem o primeiro echo e descomentar o tar pra ver se ele
 vai fazer o tar de todo mundo.
  Amanh posto o resultado.
  Valeu a ateno de todos.


  [EMAIL PROTECTED]:~# cat /scripts/bkpusers.sh
  #!/bin/sh


     USUARIOS
 ##
  #ls /dados/home  /scripts/users.txt
  for i in `ls /dados/home`; do
  #echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$i.tar.gz /dados/home/$i
  echo tar -czf /backup/$i.tar.gz /dados/home/$i - `date` 
 /scripts/loguserbkp.txt
  done

Um chute:

Algumas coisas no Linux podem estabelecer limites de execuo para um
processo (ver mdulo pam-limits -- se no me engano). Um processo pode
ser limitado a um tempo de uso da CPU, quantidade de memria,
quantidade de E/S, etc.

 possvel que o cron esteja colocando algum limite para o script e
esse limite no est sendo respeitado, o que faz o script receber um
sinal KILL. Se comentar o echo do incio faz o script rodar pode ser
que o limite esteja na quantidade de dados escritos na sada padro.
Isso pode ser verificado redirecionando esse echo para um arquivo e
fazendo um outro script, sem nenhuma relao com esse que escreve
muita coisa. Como o cron guarda o que foi escrito na sada padro para
poder mandar por e-mail depois,  bem provvel que haja um limite
assim mesmo.

Talvez o limite tenha valor somente para o processo que o cron chama,
mas no para seus filhos. Assim, vale tentar colocar o script no
diretrio cron.hourly para ver se acontece o mesmo erro.

--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/






-- 
Marcos [EMAIL PROTECTED]








Re: Script não roda completo pelo crontab

2005-10-21 Por tôpico Bruno de Oliveira Schneider
On 10/20/05, Marcos wrote:
  Funcionou parcialmente:

  O script dessa maneira funciona. Comentei a linha do echo e o cron rodou
 o script até o final mandando a saida do outro echo para o arquivo. Foram
 todos os usuarios certinho. Se eu descomente o primeiro echo ele é
 interrompido em certo ponto.
  Vou deixar rodando sem o primeiro echo e descomentar o tar pra ver se ele
 vai fazer o tar de todo mundo.
  Amanhã posto o resultado.
  Valeu a atenção de todos.


  [EMAIL PROTECTED]:~# cat /scripts/bkpusers.sh
  #!/bin/sh


     USUARIOS
 ##
  #ls /dados/home  /scripts/users.txt
  for i in `ls /dados/home`; do
  #echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$i.tar.gz /dados/home/$i
  echo tar -czf /backup/$i.tar.gz /dados/home/$i - `date` 
 /scripts/loguserbkp.txt
  done

Um chute:

Algumas coisas no Linux podem estabelecer limites de execução para um
processo (ver módulo pam-limits -- se não me engano). Um processo pode
ser limitado a um tempo de uso da CPU, quantidade de memória,
quantidade de E/S, etc.

É possível que o cron esteja colocando algum limite para o script e
esse limite não está sendo respeitado, o que faz o script receber um
sinal KILL. Se comentar o echo do início faz o script rodar pode ser
que o limite esteja na quantidade de dados escritos na saída padrão.
Isso pode ser verificado redirecionando esse echo para um arquivo e
fazendo um outro script, sem nenhuma relação com esse que escreve
muita coisa. Como o cron guarda o que foi escrito na saída padrão para
poder mandar por e-mail depois, é bem provável que haja um limite
assim mesmo.

Talvez o limite tenha valor somente para o processo que o cron chama,
mas não para seus filhos. Assim, vale tentar colocar o script no
diretório cron.hourly para ver se acontece o mesmo erro.

--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/



Re: Script não roda completo pelo crontab

2005-10-21 Por tôpico Marcos




Ol,

Deixei o script pra rodar a noite sem o echo exibindo na tela e habilitei novamente o tar.
Aconteceu algo semelhante, o script roda normalmente mas o tar s funciona at determinado usuario, os echos que direcionam o comando executado pro arquivo chegam at o final dos usuarios mas o tar no executa em todos, os arquivos .tar.gz que n oficaram corretos ficaram com um tamanho de 20bytes. Deve ser algo em relao a limite mesmo, vou dar uma pesquisada nesse sentido.



Em Sex, 2005-10-21 s 10:53 -0200, Bruno de Oliveira Schneider escreveu:


On 10/20/05, Marcos wrote:
  Funcionou parcialmente:

  O script dessa maneira funciona. Comentei a linha do echo e o cron rodou
 o script at o final mandando a saida do outro echo para o arquivo. Foram
 todos os usuarios certinho. Se eu descomente o primeiro echo ele 
 interrompido em certo ponto.
  Vou deixar rodando sem o primeiro echo e descomentar o tar pra ver se ele
 vai fazer o tar de todo mundo.
  Amanh posto o resultado.
  Valeu a ateno de todos.


  [EMAIL PROTECTED]:~# cat /scripts/bkpusers.sh
  #!/bin/sh


     USUARIOS
 ##
  #ls /dados/home  /scripts/users.txt
  for i in `ls /dados/home`; do
  #echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$i.tar.gz /dados/home/$i
  echo tar -czf /backup/$i.tar.gz /dados/home/$i - `date` 
 /scripts/loguserbkp.txt
  done

Um chute:

Algumas coisas no Linux podem estabelecer limites de execuo para um
processo (ver mdulo pam-limits -- se no me engano). Um processo pode
ser limitado a um tempo de uso da CPU, quantidade de memria,
quantidade de E/S, etc.

 possvel que o cron esteja colocando algum limite para o script e
esse limite no est sendo respeitado, o que faz o script receber um
sinal KILL. Se comentar o echo do incio faz o script rodar pode ser
que o limite esteja na quantidade de dados escritos na sada padro.
Isso pode ser verificado redirecionando esse echo para um arquivo e
fazendo um outro script, sem nenhuma relao com esse que escreve
muita coisa. Como o cron guarda o que foi escrito na sada padro para
poder mandar por e-mail depois,  bem provvel que haja um limite
assim mesmo.

Talvez o limite tenha valor somente para o processo que o cron chama,
mas no para seus filhos. Assim, vale tentar colocar o script no
diretrio cron.hourly para ver se acontece o mesmo erro.

--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/






-- 
Marcos [EMAIL PROTECTED]







Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Alguem j viu algo assim?

O script abaixo funciona normalmente rodando direto do root, mas se
coloco uma linha no crontab pra ele executar sozinho s faz o backup dos
usuarios at a letra d e depois para de executar o resto dos usuario
no loop.


#!/bin/sh


 USUARIOS ##
ls /dados/home  /scripts/users.txt
for k in `cat /scripts/users.txt`; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
 /scripts/loguserbkp.txt
done


crontab:

09 15 * * * root sh /scripts/bkpusers.sh


A permisso do /script  777, do executavel bkpusers.sh tambem




Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Yuri Robinson

  Já Troque:

 ls /dados/home  /scripts/users.txt
 for k in `cat /scripts/users.txt`; do

por 

for k in /dados/home/*; do 

até

Yuri Robinson


--- Marcos [EMAIL PROTECTED] escreveu:

 Alguem já viu algo assim?
 
 O script abaixo funciona  normalmente rodando direto do root, mas se
 coloco uma linha no crontab pra ele executar sozinho só faz o backup dos
 usuarios até a letra d e depois para de executar o resto dos usuario
 no loop.
 
 
 #!/bin/sh
 
 
    USUARIOS   ##
 ls /dados/home  /scripts/users.txt
 for k in `cat /scripts/users.txt`; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
 done
 
 
 crontab:
 
 09 15 * * * root sh /scripts/bkpusers.sh
 
 
 A permissão do /script é 777, do executavel bkpusers.sh tambem
 









___ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Artur F. Pimentel
Marcos:

Só por desencargo de consciência: Altere essa permissão aí para outra coisa 
como 755, 711 ou melhor ainda 500 (quando não for mais necessário testar o 
script).

Dessa forma qualquer pessoa no sistema pode alterar esse script...

Não é obrigatório não, mas é de bom tom...


Abs, Artur.



Em Quinta 20 Outubro 2005 14:16, Marcos escreveu:
 Alguem já viu algo assim?

 O script abaixo funciona  normalmente rodando direto do root, mas se
 coloco uma linha no crontab pra ele executar sozinho só faz o backup dos
 usuarios até a letra d e depois para de executar o resto dos usuario
 no loop.


 #!/bin/sh


    USUARIOS   ##
 ls /dados/home  /scripts/users.txt
 for k in `cat /scripts/users.txt`; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`

  /scripts/loguserbkp.txt

 done


 crontab:

 09 15 * * * root sh /scripts/bkpusers.sh


 A permissão do /script é 777, do executavel bkpusers.sh tambem

-- 
Artur F. Pimentel
Analista de Suporte
--
www.suam.edu.br
www.unisuam.edu.br



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Deixei o script assim pra testar, comentando a linha do tar

#!/bin/sh


 USUARIOS ##
for k in /dados/home/*; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 #tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`  /scripts/loguserbkp.txt
done



Dessa maneira ocorre o seguinte, direto no shell roda normal, lista todos os usuarios normalmetne.
Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
Muito estranho.

ex:



Em Qui, 2005-10-20 s 13:42 -0300, Yuri Robinson escreveu:


  J Troque:

 ls /dados/home  /scripts/users.txt
 for k in `cat /scripts/users.txt`; do

por 

for k in /dados/home/*; do 

at

Yuri Robinson


--- Marcos [EMAIL PROTECTED] escreveu:

 Alguem j viu algo assim?
 
 O script abaixo funciona  normalmente rodando direto do root, mas se
 coloco uma linha no crontab pra ele executar sozinho s faz o backup dos
 usuarios at a letra d e depois para de executar o resto dos usuario
 no loop.
 
 
 #!/bin/sh
 
 
    USUARIOS   ##
 ls /dados/home  /scripts/users.txt
 for k in `cat /scripts/users.txt`; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
 done
 
 
 crontab:
 
 09 15 * * * root sh /scripts/bkpusers.sh
 
 
 A permisso do /script  777, do executavel bkpusers.sh tambem
 



	



	
		
___ 
Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/








Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Yuri Robinson
Qtos usuários existem ao total Com qual usuário o script está sendo
executado??? 


--- Marcos [EMAIL PROTECTED] escreveu:

 Deixei o script assim pra testar, comentando a linha do tar
 
 #!/bin/sh
 
 
    USUARIOS   ##
 for k in /dados/home/*; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 #tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
 done
 
 
 
 Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
 todos os usuarios normalmetne.
 Pelo cron, ele lista apenas 49usuários. O script é interrompido do nada.
 Muito estranho.
 
 ex:
 
 
 
 Em Qui, 2005-10-20 às 13:42 -0300, Yuri Robinson escreveu:
 
Já Troque:
  
   ls /dados/home  /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
  
  por 
  
  for k in /dados/home/*; do 
  
  até
  
  Yuri Robinson
  
  
  --- Marcos [EMAIL PROTECTED] escreveu:
  
   Alguem já viu algo assim?
   
   O script abaixo funciona  normalmente rodando direto do root, mas se
   coloco uma linha no crontab pra ele executar sozinho só faz o backup dos
   usuarios até a letra d e depois para de executar o resto dos usuario
   no loop.
   
   
   #!/bin/sh
   
   
      USUARIOS   ##
   ls /dados/home  /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
/scripts/loguserbkp.txt
   done
   
   
   crontab:
   
   09 15 * * * root sh /scripts/bkpusers.sh
   
   
   A permissão do /script é 777, do executavel bkpusers.sh tambem
   
  
  
  
  
  
  
  
  
  
  ___ 
  Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e
 concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
  
 
 
 









___ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Est sendo executado como root, tanto no shell como no cron
O total so 129 usuarios.
At cheguei a remover o usuario que estava parando, mas ele para no proximo, sempre listando apenas 49 usuarios.
Nem estou usando o tar pra no demorar nos testes, apenas pra ler o diretorio e jogar a saida em arquivo j est dando erro, o script  interrompido sempre ao chegar no usuario 49. 




Em Qui, 2005-10-20 s 15:38 -0300, Yuri Robinson escreveu:


Qtos usurios existem ao total Com qual usurio o script est sendo
executado??? 


--- Marcos [EMAIL PROTECTED] escreveu:

 Deixei o script assim pra testar, comentando a linha do tar
 
 #!/bin/sh
 
 
    USUARIOS   ##
 for k in /dados/home/*; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 #tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
 done
 
 
 
 Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
 todos os usuarios normalmetne.
 Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
 Muito estranho.
 
 ex:
 
 
 
 Em Qui, 2005-10-20 s 13:42 -0300, Yuri Robinson escreveu:
 
J Troque:
  
   ls /dados/home  /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
  
  por 
  
  for k in /dados/home/*; do 
  
  at
  
  Yuri Robinson
  
  
  --- Marcos [EMAIL PROTECTED] escreveu:
  
   Alguem j viu algo assim?
   
   O script abaixo funciona  normalmente rodando direto do root, mas se
   coloco uma linha no crontab pra ele executar sozinho s faz o backup dos
   usuarios at a letra d e depois para de executar o resto dos usuario
   no loop.
   
   
   #!/bin/sh
   
   
      USUARIOS   ##
   ls /dados/home  /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
/scripts/loguserbkp.txt
   done
   
   
   crontab:
   
   09 15 * * * root sh /scripts/bkpusers.sh
   
   
   A permisso do /script  777, do executavel bkpusers.sh tambem
   
  
  
  
  	
  
  
  
  	
  		
  ___ 
  Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e
 concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/
  
 
 
 



	



	
		
___ 
Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/








Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Artur F. Pimentel
Marcos:

Um amigo meu me disse que a única coisa de estranha que ele viu foi o fato de 
você abrir um shell no cron e colocar uma chamada ao bash no script 
propriamente dito. Tire o sh do cron, e veja o que acontece.

De 09 15 * * * root sh /scripts/bkpusers.sh para 09 15 * * * 
root /scripts/bkpusers.sh.

OK?!

Artur

Em Quinta 20 Outubro 2005 16:01, Marcos escreveu:
 Deixei o script assim pra testar, comentando a linha do tar

 #!/bin/sh


    USUARIOS   ##
 for k in /dados/home/*; do
 echo tar -czf /backup/$k.tar.gz /dados/home/$k
 #tar -czf /backup/$k.tar.gz /dados/home/$k
 echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`

  /scripts/loguserbkp.txt

 done



 Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
 todos os usuarios normalmetne.
 Pelo cron, ele lista apenas 49usuários. O script é interrompido do nada.
 Muito estranho.

 ex:

 Em Qui, 2005-10-20 às 13:42 -0300, Yuri Robinson escreveu:
Já Troque:
   ls /dados/home  /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
 
  por
 
  for k in /dados/home/*; do
 
  até
 
  Yuri Robinson
 
  --- Marcos [EMAIL PROTECTED] escreveu:
   Alguem já viu algo assim?
  
   O script abaixo funciona  normalmente rodando direto do root, mas se
   coloco uma linha no crontab pra ele executar sozinho só faz o backup
   dos usuarios até a letra d e depois para de executar o resto dos
   usuario no loop.
  
  
   #!/bin/sh
  
  
      USUARIOS  
   ## ls /dados/home 
   /scripts/users.txt
   for k in `cat /scripts/users.txt`; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  
/scripts/loguserbkp.txt
  
   done
  
  
   crontab:
  
   09 15 * * * root sh /scripts/bkpusers.sh
  
  
   A permissão do /script é 777, do executavel bkpusers.sh tambem
 
  ___
  Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e
  concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/

-- 
Artur F. Pimentel
Analista de Suporte
--
www.suam.edu.br
www.unisuam.edu.br



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Yuri Robinson

Escreva o script em perl, faça algo diferente, DESCUBRA qual o erro, mas
usar esse script por causa de uma tarefa é um absurdo, na minha opinião!

até

Yuri Robinson




--- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

 quote quem=Marcos
  Deixei o script assim pra testar, comentando a linha do tar
  #!/bin/sh
     USUARIOS   ##
  for k in /dados/home/*; do
  echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$k.tar.gz /dados/home/$k
  echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
  done
 
  Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
  todos os usuarios normalmetne.
  Pelo cron, ele lista apenas 49usuários. O script é interrompido do nada.
  Muito estranho.
 
 
 Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
 rodar scripts de forma correta.
 
 O Leonardo Pinto enviou um script como uma forma de não usar o cron.
 Segue abaixo:
 
 #!/bin/bash
 #  Daemon para realizar Backup Administrativos
 #
 #  Author: Leonardo Pinto
 
 # Hora do backup agendado
 TIME_BACKUP=04:00:00
 
 # User specific environment LANGUAGE
 LANG=pt_BR
 export LANG
 
 dobackup () {
 FILE=-`date '+%a'`
 echo Iniciando Backup$FILE...  /tmp/backup.log
 tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
 echo   Backup concluído !!  /tmp/backup.log
 }
 
 # Loop infinito
 while [ True ]; do
 sleep 1
 if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
 dobackup
 fi
 done
 # Fim
 
 Fabio.
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 









___ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Fabio A Mazzarino
 Pessoal:

 Desculpem-me pegar a discussão pela metade.

 Mas por um acasa vcs já tentaram considerar que a cron não monta o
ambiente antes de executar o script. Ou seja, a variável PATH, entre
outras, não está setada.

 Tentem usar o caminho completo para cada um dos binários, ou carregar
o ambiente no começo do script.

 Fabio.



On 10/20/05, Yuri Robinson [EMAIL PROTECTED] wrote:

 Escreva o script em perl, faça algo diferente, DESCUBRA qual o erro, mas
 usar esse script por causa de uma tarefa é um absurdo, na minha opinião!

 até

 Yuri Robinson




 --- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

  quote quem=Marcos
   Deixei o script assim pra testar, comentando a linha do tar
   #!/bin/sh
      USUARIOS   ##
   for k in /dados/home/*; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   #tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
   /scripts/loguserbkp.txt
   done
 
   Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
   todos os usuarios normalmetne.
   Pelo cron, ele lista apenas 49usuários. O script é interrompido do nada.
   Muito estranho.
 
 
  Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
  rodar scripts de forma correta.
 
  O Leonardo Pinto enviou um script como uma forma de não usar o cron.
  Segue abaixo:
 
  #!/bin/bash
  #  Daemon para realizar Backup Administrativos
  #
  #  Author: Leonardo Pinto
 
  # Hora do backup agendado
  TIME_BACKUP=04:00:00
 
  # User specific environment LANGUAGE
  LANG=pt_BR
  export LANG
 
  dobackup () {
  FILE=-`date '+%a'`
  echo Iniciando Backup$FILE...  /tmp/backup.log
  tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
  echo   Backup concluído !!  /tmp/backup.log
  }
 
  # Loop infinito
  while [ True ]; do
  sleep 1
  if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
  dobackup
  fi
  done
  # Fim
 
  Fabio.
 
 
  --
  To UNSUBSCRIBE, email to [EMAIL PROTECTED]
  with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 









 ___
 Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
 concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


 --
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]





Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




J cheguei a fazer um script em C que executava determinadas aes a cada X horas, funciona legal e no consome processamento nenhum, mas estou curioso em saber porq est dando esse erro com o cron, sempre usei o cron e nunca aconteceu isso.
Estou reinstalando o pacote do cron pra ver no que d.
J posto o resultado.


Em Qui, 2005-10-20 s 17:21 -0300, Yuri Robinson escreveu:


Escreva o script em perl, faa algo diferente, DESCUBRA qual o erro, mas
usar esse script por causa de uma tarefa  um absurdo, na minha opinio!

at

Yuri Robinson




--- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

 quote quem=Marcos
  Deixei o script assim pra testar, comentando a linha do tar
  #!/bin/sh
     USUARIOS   ##
  for k in /dados/home/*; do
  echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$k.tar.gz /dados/home/$k
  echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
  done
 
  Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
  todos os usuarios normalmetne.
  Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
  Muito estranho.
 
 
 Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
 rodar scripts de forma correta.
 
 O Leonardo Pinto enviou um script como uma forma de no usar o cron.
 Segue abaixo:
 
 #!/bin/bash
 #  Daemon para realizar Backup Administrativos
 #
 #  Author: Leonardo Pinto
 
 # Hora do backup agendado
 TIME_BACKUP=04:00:00
 
 # User specific environment LANGUAGE
 LANG=pt_BR
 export LANG
 
 dobackup () {
 FILE=-`date '+%a'`
 echo Iniciando Backup$FILE...  /tmp/backup.log
 tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
 echo   Backup concludo !!  /tmp/backup.log
 }
 
 # Loop infinito
 while [ True ]; do
 sleep 1
 if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
 dobackup
 fi
 done
 # Fim
 
 Fabio.
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 



	



	
		
___ 
Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/








Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Est setado o PATH no inicio.
O curioso  que ele chega a executar o script de backup, s que  interrompido em determinado ponto. Antes de ser interrompido ele roda o tar normalmente.


[EMAIL PROTECTED]:/scripts# cat /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.
# This file also has a username field, 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 run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

# minuto hora diames mes diasemana usuario comando
07 1 * * * root sh /scripts/backup.sh
37 1 * * * root sh /scripts/bkpusers.sh



Em Qui, 2005-10-20 s 18:27 -0200, Fabio A Mazzarino escreveu:


 Pessoal:

 Desculpem-me pegar a discusso pela metade.

 Mas por um acasa vcs j tentaram considerar que a cron no monta o
ambiente antes de executar o script. Ou seja, a varivel PATH, entre
outras, no est setada.

 Tentem usar o caminho completo para cada um dos binrios, ou carregar
o ambiente no comeo do script.

 Fabio.



On 10/20/05, Yuri Robinson [EMAIL PROTECTED] wrote:

 Escreva o script em perl, faa algo diferente, DESCUBRA qual o erro, mas
 usar esse script por causa de uma tarefa  um absurdo, na minha opinio!

 at

 Yuri Robinson




 --- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

  quote quem=Marcos
   Deixei o script assim pra testar, comentando a linha do tar
   #!/bin/sh
      USUARIOS   ##
   for k in /dados/home/*; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   #tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
   /scripts/loguserbkp.txt
   done
 
   Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
   todos os usuarios normalmetne.
   Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
   Muito estranho.
 
 
  Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
  rodar scripts de forma correta.
 
  O Leonardo Pinto enviou um script como uma forma de no usar o cron.
  Segue abaixo:
 
  #!/bin/bash
  #  Daemon para realizar Backup Administrativos
  #
  #  Author: Leonardo Pinto
 
  # Hora do backup agendado
  TIME_BACKUP=04:00:00
 
  # User specific environment LANGUAGE
  LANG=pt_BR
  export LANG
 
  dobackup () {
  FILE=-`date '+%a'`
  echo Iniciando Backup$FILE...  /tmp/backup.log
  tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
  echo   Backup concludo !!  /tmp/backup.log
  }
 
  # Loop infinito
  while [ True ]; do
  sleep 1
  if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
  dobackup
  fi
  done
  # Fim
 
  Fabio.
 
 
  --
  To UNSUBSCRIBE, email to [EMAIL PROTECTED]
  with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 









 ___
 Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/


 --
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]









Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Yuri Robinson

   É exatamente como penso Marcos. 
   Sinceramente, essa de comportamente estranho do cron com shell script não
me desce, pra mim isso vem de algum erro, algum detalhe que vc não postou aqui,
algo que está escapando. 
   Assim como disse o Fábio, o cron não tem o ambiente ideal pra execução de
scripts, e isso gera muitos erros, muitas vezes comuns (eu um tempo atrás os
tinha direto). Mas escrever um script que tem um sleep 1 só pra executar uma ou
outra tarefa já é demais, na minha opinião, é claro :).

até

Yuri Robinson




--- Marcos [EMAIL PROTECTED] escreveu:

 Já cheguei a fazer um script em C que executava determinadas ações a
 cada X horas, funciona legal e não consome processamento nenhum, mas
 estou curioso em saber porq está dando esse erro com o cron, sempre usei
 o cron e nunca aconteceu isso.
 Estou reinstalando o pacote do cron pra ver no que dá.
 Já posto o resultado.
 
 
 Em Qui, 2005-10-20 às 17:21 -0300, Yuri Robinson escreveu:
 
  Escreva o script em perl, faça algo diferente, DESCUBRA qual o erro,
 mas
  usar esse script por causa de uma tarefa é um absurdo, na minha opinião!
  
  até
  
  Yuri Robinson
  
  
  
  
  --- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:
  
   quote quem=Marcos
Deixei o script assim pra testar, comentando a linha do tar
#!/bin/sh
   USUARIOS  
 ##
for k in /dados/home/*; do
echo tar -czf /backup/$k.tar.gz /dados/home/$k
#tar -czf /backup/$k.tar.gz /dados/home/$k
echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
/scripts/loguserbkp.txt
done
   
Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
todos os usuarios normalmetne.
Pelo cron, ele lista apenas 49usuários. O script é interrompido do
 nada.
Muito estranho.
   
   
   Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
   rodar scripts de forma correta.
   
   O Leonardo Pinto enviou um script como uma forma de não usar o cron.
   Segue abaixo:
   
   #!/bin/bash
   #  Daemon para realizar Backup Administrativos
   #
   #  Author: Leonardo Pinto
   
   # Hora do backup agendado
   TIME_BACKUP=04:00:00
   
   # User specific environment LANGUAGE
   LANG=pt_BR
   export LANG
   
   dobackup () {
   FILE=-`date '+%a'`
   echo Iniciando Backup$FILE...  /tmp/backup.log
   tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
   echo   Backup concluído !!  /tmp/backup.log
   }
   
   # Loop infinito
   while [ True ]; do
   sleep 1
   if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
   dobackup
   fi
   done
   # Fim
   
   Fabio.
   
   
   -- 
   To UNSUBSCRIBE, email to [EMAIL PROTECTED]
   with a subject of unsubscribe. Trouble? Contact
 [EMAIL PROTECTED]
   
   
  
  
  
  
  
  
  
  
  
  ___ 
  Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e
 concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
  
 
 
 









___ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Reinstalei o cron, sem chance, mesma coisa.

ii cron 3.0pl1-86 management of regular background processing






Em Qui, 2005-10-20 s 18:26 -0200, Marcos escreveu:

J cheguei a fazer um script em C que executava determinadas aes a cada X horas, funciona legal e no consome processamento nenhum, mas estou curioso em saber porq est dando esse erro com o cron, sempre usei o cron e nunca aconteceu isso.
Estou reinstalando o pacote do cron pra ver no que d.
J posto o resultado.


Em Qui, 2005-10-20 s 17:21 -0300, Yuri Robinson escreveu: 


Escreva o script em perl, faa algo diferente, DESCUBRA qual o erro, mas
usar esse script por causa de uma tarefa  um absurdo, na minha opinio!

at

Yuri Robinson




--- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

 quote quem=Marcos
  Deixei o script assim pra testar, comentando a linha do tar
  #!/bin/sh
     USUARIOS   ##
  for k in /dados/home/*; do
  echo tar -czf /backup/$k.tar.gz /dados/home/$k
  #tar -czf /backup/$k.tar.gz /dados/home/$k
  echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
  /scripts/loguserbkp.txt
  done
 
  Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
  todos os usuarios normalmetne.
  Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
  Muito estranho.
 
 
 Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
 rodar scripts de forma correta.
 
 O Leonardo Pinto enviou um script como uma forma de no usar o cron.
 Segue abaixo:
 
 #!/bin/bash
 #  Daemon para realizar Backup Administrativos
 #
 #  Author: Leonardo Pinto
 
 # Hora do backup agendado
 TIME_BACKUP=04:00:00
 
 # User specific environment LANGUAGE
 LANG=pt_BR
 export LANG
 
 dobackup () {
 FILE=-`date '+%a'`
 echo Iniciando Backup$FILE...  /tmp/backup.log
 tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
 echo   Backup concludo !!  /tmp/backup.log
 }
 
 # Loop infinito
 while [ True ]; do
 sleep 1
 if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
 dobackup
 fi
 done
 # Fim
 
 Fabio.
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 



	



	
		
___ 
Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/








-- 
Marcos [EMAIL PROTECTED]







Re: Script não roda completo pelo crontab

2005-10-20 Por tôpico Marcos




Funcionou parcialmente:

O script dessa maneira funciona. Comentei a linha do echo e o cron rodou o script at o final mandando a saida do outro echo para o arquivo. Foram todos os usuarios certinho. Se eu descomente o primeiro echo ele  interrompido em certo ponto.
Vou deixar rodando sem o primeiro echo e descomentar o tar pra ver se ele vai fazer o tar de todo mundo.
Amanh posto o resultado.
Valeu a ateno de todos.


[EMAIL PROTECTED]:~# cat /scripts/bkpusers.sh
#!/bin/sh


 USUARIOS ##
#ls /dados/home  /scripts/users.txt
for i in `ls /dados/home`; do
 #echo tar -czf /backup/$k.tar.gz /dados/home/$k
 #tar -czf /backup/$i.tar.gz /dados/home/$i
 echo tar -czf /backup/$i.tar.gz /dados/home/$i - `date`  /scripts/loguserbkp.txt
done









Em Qui, 2005-10-20 s 18:35 -0200, Marcos escreveu:

Est setado o PATH no inicio.
O curioso  que ele chega a executar o script de backup, s que  interrompido em determinado ponto. Antes de ser interrompido ele roda o tar normalmente.


[EMAIL PROTECTED]:/scripts# cat /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.
# This file also has a username field, 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 run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
#

# minuto hora diames mes diasemana usuario comando
07 1 * * * root sh /scripts/backup.sh
37 1 * * * root sh /scripts/bkpusers.sh



Em Qui, 2005-10-20 s 18:27 -0200, Fabio A Mazzarino escreveu: 


 Pessoal:

 Desculpem-me pegar a discusso pela metade.

 Mas por um acasa vcs j tentaram considerar que a cron no monta o
ambiente antes de executar o script. Ou seja, a varivel PATH, entre
outras, no est setada.

 Tentem usar o caminho completo para cada um dos binrios, ou carregar
o ambiente no comeo do script.

 Fabio.



On 10/20/05, Yuri Robinson [EMAIL PROTECTED] wrote:

 Escreva o script em perl, faa algo diferente, DESCUBRA qual o erro, mas
 usar esse script por causa de uma tarefa  um absurdo, na minha opinio!

 at

 Yuri Robinson




 --- Fabio Guerrazzi [EMAIL PROTECTED] escreveu:

  quote quem=Marcos
   Deixei o script assim pra testar, comentando a linha do tar
   #!/bin/sh
      USUARIOS   ##
   for k in /dados/home/*; do
   echo tar -czf /backup/$k.tar.gz /dados/home/$k
   #tar -czf /backup/$k.tar.gz /dados/home/$k
   echo tar -czf /backup/$k.tar.gz /dados/home/$k - `date`
   /scripts/loguserbkp.txt
   done
 
   Dessa maneira ocorre o seguinte, direto no shell roda normal, lista
   todos os usuarios normalmetne.
   Pelo cron, ele lista apenas 49usurios. O script  interrompido do nada.
   Muito estranho.
 
 
  Uma vez vi uma mensagem semelhante na linux-br, com o cron se recusando a
  rodar scripts de forma correta.
 
  O Leonardo Pinto enviou um script como uma forma de no usar o cron.
  Segue abaixo:
 
  #!/bin/bash
  #  Daemon para realizar Backup Administrativos
  #
  #  Author: Leonardo Pinto
 
  # Hora do backup agendado
  TIME_BACKUP=04:00:00
 
  # User specific environment LANGUAGE
  LANG=pt_BR
  export LANG
 
  dobackup () {
  FILE=-`date '+%a'`
  echo Iniciando Backup$FILE...  /tmp/backup.log
  tar -czvf usuario.tar.gz /home/usuario  /tmp/backup.log
  echo   Backup concludo !!  /tmp/backup.log
  }
 
  # Loop infinito
  while [ True ]; do
  sleep 1
  if [ `date '+%H:%M:%S'` = $TIME_BACKUP ]; then
  dobackup
  fi
  done
  # Fim
 
  Fabio.
 
 
  --
  To UNSUBSCRIBE, email to [EMAIL PROTECTED]
  with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 









 ___
 Promoo Yahoo! Acesso Grtis: a cada hora navegada voc acumula cupons e concorre a mais de 500 prmios! Participe! http://yahoo.fbiz.com.br/


 --
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]