CRON X WGET

1. CRON X WGET

Éder Monteiro do Nascimento
edermnascimento

(usa Debian)

Enviado em 02/08/2014 - 17:57h

Ola, eu já rodei aqui no forum mas não achei a solução em definitiva para meu problema. Aprendi varias coisas que tava fazendo errado, mas ainda não funciona.
Meu problema, eu criei um servidor em casa, para fazer backup de dados do servidor da empresa.
Minha distribuição é a Debian.
Eu criei um script para baixar o backup (disponibilizado via http) e salvar em uma pasta.
O Script executa se executado fora do cron e funciona lindo.
Faço o agendamento no cron, e ele aparentemente chama o script que não faz nada.

Ja sei que o cron aparentemente não aceita scripts que dão mensagens para tela, e que necessitam do caminho completo dos arquivos dentro do script.
meu script está salvo em: /home/XXX/scripts/backupXXX/backupXXX.sh
A pasta de Backup é.....: /home/XXX/BackupXXX/
A linha do cron : 46 17 * * * root /home/XXX/scripts/backupXXX/backupXXX.sh

ignorem o minuto e a hora, eu já mudei umas 70 vezes fazendo testes.
A saida do log de execução do cron:
Aug 2 17:46:01 server /USR/SBIN/CRON[9638]: (root) CMD (root /home/XXX/scripts/backupXXX/backupXXX.sh)


No script eu já dei permissão, ele executa fora do cron, já mudei o #!/bin/sh para #!/bin/bash e nos dois ele funciona fora do cron, já reiniciei o servidor depois de alterar o cron.
Meu cron é alterado com o # crontab -e
O log que eu vejo é com o # tail -f /var/log/syslog

Segue o scipt:

#!/bin/bash

######################################################
#Monta a data para concatenar no arquivo #
######################################################

DATA=`/bin/date +%Y_%m_%d`
CBACKUP="/home/XXX/BackupXXX/"
NOMEDEV="_M_DEV.7z"
NOMEPRD="_M_PRD.7z"
######################################################
#Baixa arquivo de backup de produção #
######################################################

wget -c -q -t 100 -O $CBACKUP$DATA$NOMEDEV http://sistemas.XXX.com.br/bk/BKP_XXX_dev.7z
wget -c -q -t 100 -O $CBACKUP$DATA$NOMEPRD http://sistemas.XXX.com.br/bk/BKP_XXX_PRD.7z





Bom acho que é isso, mas ele não funciona.
O que é que eu ainda estou fazendo errado?






  


2. Re: CRON X WGET

Fernando
phoemur

(usa Debian)

Enviado em 03/08/2014 - 21:14h

Experimenta chamar o wget com o caminho completo /usr/bin/wget ou equivalente no seu sistema.
E coloque a URL entre aspas.


3. Re: CRON X WGET

Éder Monteiro do Nascimento
edermnascimento

(usa Debian)

Enviado em 04/08/2014 - 09:43h

phoemur escreveu:

Experimenta chamar o wget com o caminho completo /usr/bin/wget ou equivalente no seu sistema.
E coloque a URL entre aspas.


phoemur, muito grato pela sua ajuda, infelizmente ainda não deu em nada.
Coloquei o caminho completo como você sugeriu ficando assim:

/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEDEV http://sistemas.XXX.com.br/bk/BKP_XXX_dev.7z
/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEPRD http://sistemas.XXX.com.br/bk/BKP_XXX_PRD.7z

e coloquei as aspas, simples e dupla , ficando assim:

/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEDEV 'http://sistemas.XXX.com.br/bk/BKP_XXX_dev.7z'
/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEPRD 'http://sistemas.XXX.com.br/bk/BKP_XXX_PRD.7z'

e assim:

/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEDEV "http://sistemas.XXX.com.br/bk/BKP_XXX_dev.7z"
/usr/bin/wget -c -q -t 100 -O $CBACKUP$DATA$NOMEPRD "http://sistemas.XXX.com.br/bk/BKP_XXX_PRD.7z"

mas o problema continua.
Se da raiz eu executar o script assim:
/home/XXX/scripts/backupXXX/backupXXX.sh

ele funciona, com as alterações, sendo chamado pelo crontab, ele indica que executou o comando, mas não faz. segue linha do #tail -f /var/log/syslog

Aug 4 09:32:01 server /USR/SBIN/CRON[6837]: (root) CMD (root /home/XXX/scripts/backupXXX/backupXXX.sh)

O problema continua.
Mais uma vez, obrigado pela dica de qualquer forma.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts