crontab X script.sh [RESOLVIDO]

Iniciado por Hélio Barbosa, 08 de Fevereiro de 2008, 12:30

tópico anterior - próximo tópico

Hélio Barbosa

Olá Jovens,

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


15 12 * * * touch /home/helio/Desktop/joselitoCarneiro.txt


Perfect!

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


15 12 * * * /home/helio/executa.bkp.sh


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


#! /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:

$ ./executa.bkp.sh


O script roda bunitinho ;)

Ah... esse script está com 777.

Abraços,
Hélio

Mythus

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.

Hélio Barbosa

Citar
já tentou digita "mail" para ver se o cron mandou um email com mensagens de erro?


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







Mythus

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.

Hélio Barbosa


$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 ;)

Mythus

Citação de: Hélio Barbosa online 12 de Fevereiro de 2008, 14:25

$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.

Hélio Barbosa

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

Mythus

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.