Autor Tópico: crontab X script.sh [RESOLVIDO]  (Lida 3277 vezes)

Offline Hélio Barbosa

  • Usuário Ubuntu
  • *
  • Mensagens: 99
    • Ver perfil
crontab X script.sh [RESOLVIDO]
« Online: 08 de Fevereiro de 2008, 12:30 »
Olá Jovens,

Se coloco no meu "crontab -e" o seguinte código por exemplo, funciona belezinha:

Código: [Selecionar]
15 12 * * * touch /home/helio/Desktop/joselitoCarneiro.txt

Perfect!

Porém, quando coloco para chamar um script que montei ele não executa:

Código: [Selecionar]
15 12 * * * /home/helio/executa.bkp.sh

O conteúdo do meu executa.bkp.sh é:

Código: [Selecionar]
#! /bin/sh
cd /var/www/siteJoselito
zip -r /tmp/siteJoselito.backup.zip /var/www/siteJoselito
cp /tmp/siteJoselito.backup.zip '/home/helio/Desktop/web/siteJoselito/siteJoselito.backup.'`date +%Y-%m-%d`'.zip'
rm /tmp/siteJoselito.backup.zip

Sendo que /home/helio/Desktop/web/ é um diretório montado de um compartilhamento windows.
E quando executo:
Código: [Selecionar]
$ ./executa.bkp.sh

O script roda bunitinho ;)

Ah... esse script está com 777.

Abraços,
Hélio
« Última modificação: 25 de Fevereiro de 2008, 16:29 por Hélio Barbosa »

Offline Mythus

  • Usuário Ubuntu
  • *
  • Mensagens: 264
  • Liga dos Dinos
    • Ver perfil
    • http://www.protopage.com/skopein
Re: crontab X script.sh
« Resposta #1 Online: 09 de Fevereiro de 2008, 19:58 »
já tentou digita "mail" para ver se o cron mandou um email com mensagens de erro?

tente direcionar as saidas 1> e 2> para um log.

suspeito que o problema não seja a permissão do scritp, mas sim a permissão ou o local do ponto de montagem.

Antes de entrar no X, usando Ctrl+Alt+ F2, no terminal digite mount e veja se o destino do seu script está montado. Caso esteja liste-o com ls. Depois desmonte-o e novamente liste-o. Verifique que se ele copiou arquivos para o diretório em vez da partição. Já aconteceu isso algumas vezes comigo. Eu mandava para /media/backup que também era um pasta windows compartilada e, na hora da execução do backup o computador remoto estava desligado  :-\  Daí eu tinha que desmontar, copiar os arquivos de lá para outro diretório, montar novamente e jogar os arquivos no local correto.
Abraços,
_________________
Não é programador, não é hacker. Formado em Direito pela UFPb. Usuário de Linux em tempo integral: Linux User Number: 174012.

Offline Hélio Barbosa

  • Usuário Ubuntu
  • *
  • Mensagens: 99
    • Ver perfil
Re: crontab X script.sh
« Resposta #2 Online: 11 de Fevereiro de 2008, 16:20 »
Citar
já tentou digita "mail" para ver se o cron mandou um email com mensagens de erro?

Código: [Selecionar]
helio@ubuntu-desktop:~$ mail
bash: mail: comando não encontrado
helio@ubuntu-desktop:~$

Citar
Antes de entrar no X, usando Ctrl+Alt+ F2, no terminal digite mount...

Bom... eu defini um horário para ser executado quando eu estava usando o X, e eu estou acessando o compartilhamento normalmente..


Abraços,
hélio







Offline Mythus

  • Usuário Ubuntu
  • *
  • Mensagens: 264
  • Liga dos Dinos
    • Ver perfil
    • http://www.protopage.com/skopein
Re: crontab X script.sh
« Resposta #3 Online: 12 de Fevereiro de 2008, 14:09 »
Já que mão tens mail, teste cat /var/spool/mail/helio

Direcionou a saída de erro para um log?

Outro caminho é dividir a execução em 4 intervalos diferentes para saber em qual linha falha.

Uma terceira opção seria jogar o script em /etc/cron.daily/ para ser executado junto com o sistema.
Abraços,
_________________
Não é programador, não é hacker. Formado em Direito pela UFPb. Usuário de Linux em tempo integral: Linux User Number: 174012.

Offline Hélio Barbosa

  • Usuário Ubuntu
  • *
  • Mensagens: 99
    • Ver perfil
Re: crontab X script.sh
« Resposta #4 Online: 12 de Fevereiro de 2008, 14:25 »
Código: [Selecionar]
$cat /var/log/syslog
Feb 12 14:21:01 ubuntu-desktop /USR/SBIN/CRON[20756]: (helio) CMD (touch /home/helio/copia.siteQualquer.sh)
Feb 12 14:21:01 ubuntu-desktop sm-msp-queue[20704]: unable to qualify my own domain name (ubuntu-desktop) -- using short name

Olha o resultado ;)

Offline Mythus

  • Usuário Ubuntu
  • *
  • Mensagens: 264
  • Liga dos Dinos
    • Ver perfil
    • http://www.protopage.com/skopein
Re: crontab X script.sh
« Resposta #5 Online: 12 de Fevereiro de 2008, 15:31 »
Código: [Selecionar]
$cat /var/log/syslog
Feb 12 14:21:01 ubuntu-desktop /USR/SBIN/CRON[20756]: (helio) CMD (touch /home/helio/copia.siteQualquer.sh)
Feb 12 14:21:01 ubuntu-desktop sm-msp-queue[20704]: unable to qualify my own domain name (ubuntu-desktop) -- using short name

Olha o resultado ;)

Erro de sendmail. Como já mostrei lá em cima, um mail pra ver os erros de sistema é uma mão na roda. Você não tem nada disso instalado, né? A configuração padrão já observa as mensagens do sistema.

Abraços,
_________________
Não é programador, não é hacker. Formado em Direito pela UFPb. Usuário de Linux em tempo integral: Linux User Number: 174012.

Offline Hélio Barbosa

  • Usuário Ubuntu
  • *
  • Mensagens: 99
    • Ver perfil
Re: crontab X script.sh
« Resposta #6 Online: 25 de Fevereiro de 2008, 15:35 »
Me informaram o problema em outro fórum

O que acontece é que meu script está tendo saida de texto, e o crontab não permite isso.

Então coloquei no meu comando "zip" o parametro q(quiet).

Abraços,
Hélio

Offline Mythus

  • Usuário Ubuntu
  • *
  • Mensagens: 264
  • Liga dos Dinos
    • Ver perfil
    • http://www.protopage.com/skopein
Re: crontab X script.sh
« Resposta #7 Online: 25 de Fevereiro de 2008, 16:24 »
Vivendo e aprendendo. Obrigado pelo retorno e compartilhar a solução.

Se possível, inclua no tópico o termo "Resolvido".

Parabéns
Abraços,
_________________
Não é programador, não é hacker. Formado em Direito pela UFPb. Usuário de Linux em tempo integral: Linux User Number: 174012.