script não funciona na cron. [RESOLVIDO]

1. script não funciona na cron. [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 17/01/2014 - 17:36h

Boa tarde.

Tenho uns script rsync que funciona normalmente quando executo ele manualmente, porem quando coloco na CRON, ele não executa.

Criei um sincroniza.sh permissão +x e conteúdo.

rsync -vrz --delete root@ipdoservidor:/diretoriodestino/ /diretoriolocal/

Na CRON inseri dessa forma.

20 17 * * * /root/sincronismo.sh > /dev/null 2>&1

Porem quando olho no logs da cron, mostra que rodou.

Jan 17 16:20:01 nomemaquina crond[26601]: (root) CMD (/root/sincronismo.sh > /dev/null 2>&1)

Obs: Checando os arquivos, acabo de ver que não sincronizou.


  


2. MELHOR RESPOSTA

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/01/2014 - 19:20h

Move este script para a pasta /usr/local/bin:

mv /root/sincronismo.sh /usr/local/bin
chmod +x /usr/local/bin/sincronismo.sh


E altere a linha do cron usando :

crontab -e


Deixe ela assim:

20 17 * * * /usr/local/bin/sincronismo.sh > /dev/null 2>&1


Se ainda assim não for jogue a saida do cron para um arquivo para ver se da alguma pista:

20 17 * * * /usr/local/bin/sincronismo.sh > /root/cron_rsync.log


3. Re: script não funciona na cron. [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/01/2014 - 18:04h

No script coloque o caminho completo para o binário do rsync, no meu caso no debian fica em "/usr/bin/rsync"

Para tirar a prova de um:

sudo locate rsync |grep bin

ou ainda adicione no script:

rsync="/usr/bin/rsync"




4. Re: script não funciona na cron. [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 17/01/2014 - 18:25h

Obrigado pela ajuda.

Deixei dessa forma no arquivo, porem na cron ele nao rodou, somente executando com ./arquivo.sh que funcionou.

/usr/bin/rsync -Cravzp root@ipservidor:/whm2/destino/ /whm2/origem/


5. Re: script não funciona na cron. [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 17/01/2014 - 18:35h

Alteração no script. Deixei dessa forma.
#!/bin/bash
rsync="/usr/bin/rsync"
######################BACKUP INCREMENTAL####################
rsync -Cravzp root@000.00.000.00:/whm2/destino/ /whm2/origem/




6. Re: script não funciona na cron. [RESOLVIDO]

Thiago Marques Dantas
ThiagoMMS

(usa CentOS)

Enviado em 22/01/2014 - 18:30h

Acabou que apos algumas alterações funcionou com o script abaixo.

#!/bin/sh
servidor=`hostname`
comando="rsync -vrz --delete root@ipservidordestino:/pasta/ /pasta/"

data=`date +%c`;
#Log de saida
log="/var/log/bkp_rsync"

#Executando comandos
$comando
echo "Iniciando Rsync Server $servidor as $data" >> $log;

data=`date +%c`;
echo "Backup concluído as $data" >> $log;

Na cron, deixei da seguinte forma, deixando o arquivo dentro do /usr/bin/ como na sugestão sua..

10 20 * * * /usr/bin/rsync_backup.sh /dev/null 2>&1

Logs da cron
Jan 22 17:22:01 maquina crond[27619]: (root) CMD (/usr/bin/rsync_backup.sh /dev/null 2>&1

Logs script
Iniciando Rsync Server nomeser as Qua 22 Jan 2014 09:18:44 AMST
Backup concluido as Qua 22 Jan 2014 09:27:57 AMST

tcpdump no destino confirma que trafegava os dados.
17:22:34.540651 IP servidordeorigem.42291 > servidordedestino: P 309092:309156(64) ack 3295709 win 1021 <nop,nop,timestamp 104803489 1836642836>



Agradeço a sua ajuda.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts