O Script de Envio do ZFS funciona quando executado manualmente, mas não no Cron (Já tentei soluções comuns)

1

O script no final do envio é o seguinte:

#!/bin/sh

#Variables

bigdata=vid-zfs-live/bigdata

today='gdate +%m-%d-%y'

yesterday='gdate -d'yesterday' +%m-%d-%y'


#Actions

zfs snapshot -r "$bigdata"@"$today"

zfs send -i "$bigdata"@"$yesterday" "$bigdata"@"$today" | nc -w 700 192.168.10.11 8024

A entrada do Cron no final do envio é a seguinte:

30 0 * * * /scripts/zfssendBigData.sh > /tmp/cron1.log

O script no final da recepção é o seguinte:

#!/bin/sh

/usr/bin/nc -l -p 8024 | zfs receive -F vid-zfs-bak/bigdata

A entrada do Cron no final do recebimento é a seguinte:

 29 0 * * * /scripts/zfsreceiveBigData.sh > /tmp/cron2.log

cron1.log e cron2.log estão vazios.

mailx no final do recebimento mostra:

Your "cron" job on atm-frontend-02
/scripts/zfsreceiveBigData.sh

produced the following output:

nc: -w has no effect with -l
cannot receive: failed to read from stream

Coisas que valem a pena notar:

A parte de instantâneo funciona bem, os instantâneos são criados. Então eu sei que o script está sendo executado. É especificamente o envio / recebimento que não está funcionando.

Eu tentei usar caminhos absolutos para todos os programas, como / usr / bin / nc, / usr / sbin / zfs, etc.

Eu verifiquei que os relógios de ambos os sistemas estão dentro de 10 segundos um do outro.

Ambos os sistemas Solaris 11.3

    
por Copy Run Start 29.04.2016 / 23:04

1 resposta

1

Eu sugeriria executar o script do lado de envio e usá-lo para acionar a parte de recebimento. Não faz sentido iniciar um cron job nos dois lados ...

Você pode emitir comandos em seu servidor remoto a partir do servidor local usando ssh.

    
por 29.04.2016 / 23:11