Неинтерактивные разрывы bash с / usr / bin / which: строка 10: printf: ошибка записи: сломанный канал - PullRequest
0 голосов
/ 27 августа 2018

Я использую почтовый сервер Zimbra, защищенный сертификатами Let's Encrypt SSL. Сценарий автоматического обновления сертификата ( certbot zimbra ) запускается от имени пользователя root один раз в день через cron.

Когда срок действия сертификата SSL истекает и должен быть продлен, неинтерактивный скрипт cron завершается с ошибкой /usr/bin/which: line 10: printf: write error: Broken pipe.

Ошибка строки скрипта:

LEB_BIN=$(which certbot-auto certbot letsencrypt | head -n 1)

Когда я пытаюсь запустить этот сценарий в интерактивном режиме, также как пользователь root, я не сталкиваюсь с этой проблемой, весь сценарий выполняется без проблем, сертификаты, срок действия которых истекает, обновляются, а также выполняются действия после обслуживания (включая перезапуск служб Zimbra, это не тот случай, когда сценарий завершается неудачей в середине ночи ...)

Любая идея, почему эта ошибка возникает и как это исправить, пожалуйста?

Спасибо.

...