Problemas com crontab [RESOLVIDO]

1. Problemas com crontab [RESOLVIDO]

Marco A. Lang
marcolang

(usa CentOS)

Enviado em 02/05/2016 - 10:22h

Olá pessoal... sou inciante em Linux (Centos 6.5) e estou criando um shell para zipar algumas pastas e enviá-las a Amazon S3. O arquivo .sh que criei é o seguinte:


#!/bin/sh
echo 'Started'
date +'%a %b %e %H:%M:%S %Z %Y'
zip -r camarawestfalia.zip camarawestfalia/
mv camarawestfalia.zip bkp/
s3cmd sync --recursive --preserve /data/bkp s3://bkp-geral-marco
date +'%a %b %e %H:%M:%S %Z %Y'
echo 'Finished'


Esse script funciona perfeitamente, porém quando agendo ele na crontab não funciona. Observem como coloquei na crontab:
15 9 * * 4 /data/copiaS3.sh > log-copia.txt 


Nas quintas-feiras as 9:15 ele somente cria o arquivo log-copia.txt porém vazio (nem o zip é criado).

Alguém sabe onde posso estar errando? ABRAÇO



  


2. Re: Problemas com crontab [RESOLVIDO]

Phillipe Smith
SmithuX

(usa Arch Linux)

Enviado em 02/05/2016 - 13:17h

Só por desencargo de consciência, o script está com permissão de execução?

Ainda que não esteja, pode tentar colocar da seguinte forma:

15 9 * * 4 bash /data/copiaS3.sh > log-copia.txt 



"Não há nada como a liberdade!" (Nelson Mandela)


3. Re: Problemas com crontab [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 02/05/2016 - 15:57h

deixe o seu script assim:


#!/bin/bash
WHICH="/usr/bin/which"
$($WHICH echo) 'Started'
$($WHICH date) +'%a %b %e %H:%M:%S %Z %Y'
$($WHICH zip) -r camarawestfalia.zip camarawestfalia/
$($WHICH mv) camarawestfalia.zip bkp/
$($WHICH s3cmd) sync --recursive --preserve /data/bkp s3://bkp-geral-marco
$($WHICH date) +'%a %b %e %H:%M:%S %Z %Y'
$($WHICH echo) 'Finished'


alguns comandos as vezes para funcionar com o crontab vc precisa passar o caminho absoluto no script, teste ai e veja se resolve, se te ajudar, marque o tópico como resolvido e selecione a melhor resposta ok ate +


4. Re: Problemas com crontab [RESOLVIDO]

Phillipe Smith
SmithuX

(usa Arch Linux)

Enviado em 02/05/2016 - 16:03h

R3nan,
Se por acaso for problema com o caminho dos executáveis, na minha opinião,fica mais elegante e padronizado setar o PATH no crontab:
SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin

15 9 * * 4 /data/copiaS3.sh > log-copia.txt


"Não há nada como a liberdade!" (Nelson Mandela)


5. Re: Problemas com crontab [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 02/05/2016 - 16:08h

legal, é outra opção tb...


6. Re: Problemas com crontab [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 02/05/2016 - 18:56h

Faça seu script funcionar com

$ env -i /data/copiaS3.sh 


No cron, capture também a saída de erro, ou para outro arquivo ou para o mesmo arquivo, exemplo:

15 9 * * 4 /data/copiaS3.sh 2>&1> log-copia.txt 




7. Resolvi

Marco A. Lang
marcolang

(usa CentOS)

Enviado em 05/05/2016 - 08:18h

Olá pessoal.... testei as dicas de todo mundo e através disso consegui encontrar o erro: realmente era problema de caminho.

O que eu fiz:

na crontab fiz gerar um log onde apareceu o erro:
15 9 * * 4 /data/copiaS3.sh 2>&1> log-copia.txt

então descobri que o problema era o caminho. Coloquei o caminho total no script:

#!/bin/sh
echo 'Started'
date +'%a %b %e %H:%M:%S %Z %Y'
zip -r /data/camarawestfalia.zip /data/camarawestfalia/
mv /data/camarawestfalia.zip /data/bkp/
s3cmd sync --recursive --preserve /data/bkp s3://bkp-geral-marco
date +'%a %b %e %H:%M:%S %Z %Y'
echo 'Finished'


Como vocês podem ver foi um erro bobo de iniciante que me fez perder um bocado de cabelo kkkk. Mas agora funcionou perfeitamente... obrigado pela colaboração de todos.

ABRAÇO






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts