Назад | Перейти на главную страницу

Сценарий отправки ZFS работает при запуске вручную, но не в Cron (уже пробовали распространенные решения)

Скрипт окончания отправки выглядит следующим образом:

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

Запись в Cron на конце отправки выглядит следующим образом:

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

Скрипт на принимающей стороне выглядит следующим образом:

#!/bin/sh

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

Запись в Cron на принимающей стороне выглядит следующим образом:

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

cron1.log и cron2.log пусты.

mailx на принимающей стороне показывает:

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

На что стоит обратить внимание:

Часть снимков работает нормально, снимки создаются. Итак, я знаю, что сценарий запущен. В частности, не работает отправка / получение.

Я пробовал использовать абсолютные пути ко всем программам, таким как / usr / bin / nc, / usr / sbin / zfs и т. Д.

Я проверил, что часы в обеих системах отличаются друг от друга в пределах 10 секунд.

Обе системы Solaris 11.3

Я бы предложил выполнить сценарий на стороне отправителя и использовать его для запуска части приема. Нет смысла начинать работу cron на обоих концах ...

Вы можете запускать команды на удаленном сервере с локального сервера с помощью ssh.