Letsencrypt автоматическое обновление cronjob сбой

Я понимаю, что 32-битный дистрибутив будет по-прежнему поддерживаться на данный момент, но 32-битные ISO-изображения с установщиками и т. д. не будут созданы.

Итак, да, вы будете возможность обновления, но не выполнить новую 32-разрядную установку.

0
задан 8 May 2018 в 02:26

15 ответов

Обновление: rehmatworks с тех пор обновил оригинальный скрипт, чтобы решить эту проблему.

Благодаря комментариям @steeldriver выше, я узнал, что главная проблема:

Кронтаб должен выполняться с использованием «bash» (не по умолчанию «sh»), потому что: &>/dev/null является синтаксисом bash («sh» будет >/dev/null 2>&1). sh не распознает команды в кавычках (вызывает ошибку «not found»). Crontab должен определять переменные PATH по умолчанию. Если crontab запускается под root, тогда вам не нужно использовать «sudo» (хотя, вероятно, это не повредит).

Для редактирования корневого crontask используйте sudo crontab -e -u root. Финал выглядит следующим образом:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

@monthly service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload
#

До сих пор кажется, что он работает (но, пожалуйста, подтвердите, просмотрев журналы).

Примечание: Не проверено, но с точки зрения исправления оригинала install script, без необходимости определять среду оболочки отдельно, возможно, вы могли бы обернуть команду cron в подошву bash, чтобы убедиться, что она запускается в bash (на каждый ответ на запрос SUBUBU):

bash -c "bashcommand" [ ! d14]

0
ответ дан 22 May 2018 в 10:54

Обновление: rehmatworks с тех пор обновил оригинальный скрипт, чтобы решить эту проблему.

Благодаря комментариям @steeldriver выше, я узнал, что главная проблема:

Кронтаб должен выполняться с использованием «bash» (не по умолчанию «sh»), потому что: &>/dev/null является синтаксисом bash («sh» будет >/dev/null 2>&1). sh не распознает команды в кавычках (вызывает ошибку «not found»). Crontab должен определять переменные PATH по умолчанию. Если crontab запускается под root, тогда вам не нужно использовать «sudo» (хотя, вероятно, это не повредит).

Для редактирования корневого crontask используйте sudo crontab -e -u root. Финал выглядит следующим образом:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin @monthly service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload #

До сих пор кажется, что он работает (но, пожалуйста, подтвердите, просмотрев журналы).

Примечание: Не проверено, но с точки зрения исправления оригинала install script, без необходимости определять среду оболочки отдельно, возможно, вы могли бы обернуть команду cron в подошву bash, чтобы убедиться, что она запускается в bash (на каждый ответ на запрос SUBUBU):

bash -c "bashcommand" [ ! d14]

0
ответ дан 17 July 2018 в 14:56

Обновление: rehmatworks с тех пор обновил оригинальный скрипт, чтобы решить эту проблему.

Благодаря комментариям @steeldriver выше, я узнал, что главная проблема:

Кронтаб должен выполняться с использованием «bash» (не по умолчанию «sh»), потому что: &>/dev/null является синтаксисом bash («sh» будет >/dev/null 2>&1). sh не распознает команды в кавычках (вызывает ошибку «not found»). Crontab должен определять переменные PATH по умолчанию. Если crontab запускается под root, тогда вам не нужно использовать «sudo» (хотя, вероятно, это не повредит).

Для редактирования корневого crontask используйте sudo crontab -e -u root. Финал выглядит следующим образом:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin @monthly service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload #

До сих пор кажется, что он работает (но, пожалуйста, подтвердите, просмотрев журналы).

Примечание: Не проверено, но с точки зрения исправления оригинала install script, без необходимости определять среду оболочки отдельно, возможно, вы могли бы обернуть команду cron в подошву bash, чтобы убедиться, что она запускается в bash (на каждый ответ на запрос SUBUBU):

bash -c "bashcommand" [ ! d14]

0
ответ дан 20 July 2018 в 14:59

Обновление: rehmatworks с тех пор обновил оригинальный скрипт, чтобы решить эту проблему.

Благодаря комментариям @steeldriver выше, я узнал, что главная проблема:

Кронтаб должен выполняться с использованием «bash» (не по умолчанию «sh»), потому что: &>/dev/null является синтаксисом bash («sh» будет >/dev/null 2>&1). sh не распознает команды в кавычках (вызывает ошибку «not found»). Crontab должен определять переменные PATH по умолчанию. Если crontab запускается под root, тогда вам не нужно использовать «sudo» (хотя, вероятно, это не повредит).

Для редактирования корневого crontask используйте sudo crontab -e -u root. Финал выглядит следующим образом:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin @monthly service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload #

До сих пор кажется, что он работает (но, пожалуйста, подтвердите, просмотрев журналы).

Примечание: Не проверено, но с точки зрения исправления оригинала install script, без необходимости определять среду оболочки отдельно, возможно, вы могли бы обернуть команду cron в подошву bash, чтобы убедиться, что она запускается в bash (на каждый ответ на запрос SUBUBU):

bash -c "bashcommand" [ ! d14]

0
ответ дан 20 July 2018 в 15:23

Обновление: rehmatworks с тех пор обновил оригинальный скрипт, чтобы решить эту проблему.

Благодаря комментариям @steeldriver выше, я узнал, что главная проблема:

Кронтаб должен выполняться с использованием «bash» (не по умолчанию «sh»), потому что: &>/dev/null является синтаксисом bash («sh» будет >/dev/null 2>&1). sh не распознает команды в кавычках (вызывает ошибку «not found»). Crontab должен определять переменные PATH по умолчанию. Если crontab запускается под root, тогда вам не нужно использовать «sudo» (хотя, вероятно, это не повредит).

Для редактирования корневого crontask используйте sudo crontab -e -u root. Финал выглядит следующим образом:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin @monthly service nginx-sp stop && yes | letsencrypt --standalone renew &>/dev/null && service nginx-sp start && service nginx-sp reload #

До сих пор кажется, что он работает (но, пожалуйста, подтвердите, просмотрев журналы).

Примечание: Не проверено, но с точки зрения исправления оригинала install script, без необходимости определять среду оболочки отдельно, возможно, вы могли бы обернуть команду cron в подошву bash, чтобы убедиться, что она запускается в bash (на каждый ответ на запрос SUBUBU):

bash -c "bashcommand" [ ! d14]

0
ответ дан 23 July 2018 в 15:55

Попробуйте указать весь путь к исполняемым файлам, которые вы используете. Я думаю, они не найдены, поскольку переменная $ HOME или $ PATH должна отличаться от корня и пользователя.

Если то, что я сказал, является проблемой, источником ее должно быть местоположение двоичный, вероятно, не найденный root

1
ответ дан 22 May 2018 в 10:54
  • 1
    Хорошее предложение. Я попробовал. Работает из командной строки, но, к сожалению, все еще получает ошибку «не найден» от cron. Вот исправленная команда / ошибка: /bin/sh: 1: sudo /usr/sbin/service nginx-sp stop && yes | /usr/bin/letsencrypt --standalone renew &>/dev/null && /usr/sbin/service nginx-sp start && /usr/sbin/service nginx-sp reload: not found – Douglas McDonald 7 May 2018 в 23:40
  • 2
    дважды запустите эту команду как пользователь и один раз с правами root: whereis service nginx-sp letsencrypt – WiKrIe 7 May 2018 в 23:51
  • 3
    Я запускаю все как root (надеюсь), избегая любых ошибок пользователя. Вот результат: letsencrypt: /usr/bin/lets encrypt /etc/letsencrypt /usr/share/man/man1/letsencrypt.1.gz – Douglas McDonald 7 May 2018 в 23:57
  • 4
    Вы пытались использовать /etc/letsencrypt вместо /usr/bin/letsencrypt на кронтабе? – Manel Reis 8 May 2018 в 00:20
  • 5
    @ManelReis Я понимаю, что /etc/letsencrypt является источником, а не двоичным. Но я попробовал это независимо. Работает из командной строки, а не из cron. Я также добавил полный путь к yes (/ usr / bin / yes) на всякий случай - не повезло. – Douglas McDonald 8 May 2018 в 00:39

Об этом уже сообщалось как проблема для поставщика сценариев:

https://github.com/rehmatworks/serverpilot-letsencrypt/issues/8

Поэтому вам стоит подождать ответ там.

Обновление: проблема решена теперь Scriptowner на Github, пожалуйста, проверьте Github , rehmatworks прокомментировал 12 часов назад

Решение: отмените сценарий, и вы сможете делать гораздо больше с большой легкостью.

извините chris

1
ответ дан 22 May 2018 в 10:54
  • 1
    Спасибо, Кристиан. Да. Я знаю об этом. Я был одним из плакатов этой проблемы. К сожалению, я не получил ответа от dev (уже пару недель), и я подозреваю, что это общая проблема cron, а не проблема с скриптом. – Douglas McDonald 7 May 2018 в 23:44

Попробуйте указать весь путь к исполняемым файлам, которые вы используете. Я думаю, они не найдены, поскольку переменная $ HOME или $ PATH должна отличаться от корня и пользователя.

Если то, что я сказал, является проблемой, источником ее должно быть местоположение letsencrypt двоичный, вероятно, не найденный root

1
ответ дан 17 July 2018 в 14:56

Об этом уже сообщалось как проблема для поставщика сценариев:

https://github.com/rehmatworks/serverpilot-letsencrypt/issues/8

Поэтому вам стоит подождать ответ там.

Обновление: проблема решена теперь Scriptowner на Github, пожалуйста, проверьте Github , rehmatworks прокомментировал 12 часов назад

Решение: отмените сценарий, и вы сможете делать гораздо больше с большой легкостью.

извините chris

1
ответ дан 17 July 2018 в 14:56

Попробуйте указать весь путь к исполняемым файлам, которые вы используете. Я думаю, они не найдены, поскольку переменная $ HOME или $ PATH должна отличаться от корня и пользователя.

Если то, что я сказал, является проблемой, источником ее должно быть местоположение letsencrypt двоичный, вероятно, не найденный root

1
ответ дан 20 July 2018 в 14:59
  • 1
    Хорошее предложение. Я попробовал. Работает из командной строки, но, к сожалению, все еще получает ошибку «не найден» от cron. Вот исправленная команда / ошибка: /bin/sh: 1: sudo /usr/sbin/service nginx-sp stop && yes | /usr/bin/letsencrypt --standalone renew &>/dev/null && /usr/sbin/service nginx-sp start && /usr/sbin/service nginx-sp reload: not found – Douglas McDonald 7 May 2018 в 23:40
  • 2
    дважды запустите эту команду как пользователь и один раз с правами root: whereis service nginx-sp letsencrypt – WiKrIe 7 May 2018 в 23:51
  • 3
    Я запускаю все как root (надеюсь), избегая любых ошибок пользователя. Вот результат: letsencrypt: /usr/bin/lets encrypt /etc/letsencrypt /usr/share/man/man1/letsencrypt.1.gz – Douglas McDonald 7 May 2018 в 23:57
  • 4
    Вы пытались использовать /etc/letsencrypt вместо /usr/bin/letsencrypt на кронтабе? – Manel Reis 8 May 2018 в 00:20
  • 5
    @ManelReis Я понимаю, что /etc/letsencrypt является источником, а не двоичным. Но я попробовал это независимо. Работает из командной строки, а не из cron. Я также добавил полный путь к yes (/ usr / bin / yes) на всякий случай - не повезло. – Douglas McDonald 8 May 2018 в 00:39

Об этом уже сообщалось как проблема для поставщика сценариев:

https://github.com/rehmatworks/serverpilot-letsencrypt/issues/8

Поэтому вам стоит подождать ответ там.

Обновление: проблема решена теперь Scriptowner на Github, пожалуйста, проверьте Github , rehmatworks прокомментировал 12 часов назад

Решение: отмените сценарий, и вы сможете делать гораздо больше с большой легкостью.

извините chris

1
ответ дан 20 July 2018 в 14:59
  • 1
    Спасибо, Кристиан. Да. Я знаю об этом. Я был одним из плакатов этой проблемы. К сожалению, я не получил ответа от dev (уже пару недель), и я подозреваю, что это общая проблема cron, а не проблема с скриптом. – Douglas McDonald 7 May 2018 в 23:44

Попробуйте указать весь путь к исполняемым файлам, которые вы используете. Я думаю, они не найдены, поскольку переменная $ HOME или $ PATH должна отличаться от корня и пользователя.

Если то, что я сказал, является проблемой, источником ее должно быть местоположение letsencrypt двоичный, вероятно, не найденный root

1
ответ дан 20 July 2018 в 15:23
  • 1
    Хорошее предложение. Я попробовал. Работает из командной строки, но, к сожалению, все еще получает ошибку «не найден» от cron. Вот исправленная команда / ошибка: /bin/sh: 1: sudo /usr/sbin/service nginx-sp stop && yes | /usr/bin/letsencrypt --standalone renew &>/dev/null && /usr/sbin/service nginx-sp start && /usr/sbin/service nginx-sp reload: not found – Douglas McDonald 7 May 2018 в 23:40
  • 2
    дважды запустите эту команду как пользователь и один раз с правами root: whereis service nginx-sp letsencrypt – WiKrIe 7 May 2018 в 23:51
  • 3
    Я запускаю все как root (надеюсь), избегая любых ошибок пользователя. Вот результат: letsencrypt: /usr/bin/lets encrypt /etc/letsencrypt /usr/share/man/man1/letsencrypt.1.gz – Douglas McDonald 7 May 2018 в 23:57
  • 4
    Вы пытались использовать /etc/letsencrypt вместо /usr/bin/letsencrypt на кронтабе? – Manel Reis 8 May 2018 в 00:20
  • 5
    @ManelReis Я понимаю, что /etc/letsencrypt является источником, а не двоичным. Но я попробовал это независимо. Работает из командной строки, а не из cron. Я также добавил полный путь к yes (/ usr / bin / yes) на всякий случай - не повезло. – Douglas McDonald 8 May 2018 в 00:39

Об этом уже сообщалось как проблема для поставщика сценариев:

https://github.com/rehmatworks/serverpilot-letsencrypt/issues/8

Поэтому вам стоит подождать ответ там.

Обновление: проблема решена теперь Scriptowner на Github, пожалуйста, проверьте Github , rehmatworks прокомментировал 12 часов назад

Решение: отмените сценарий, и вы сможете делать гораздо больше с большой легкостью.

извините chris

1
ответ дан 20 July 2018 в 15:23
  • 1
    Спасибо, Кристиан. Да. Я знаю об этом. Я был одним из плакатов этой проблемы. К сожалению, я не получил ответа от dev (уже пару недель), и я подозреваю, что это общая проблема cron, а не проблема с скриптом. – Douglas McDonald 7 May 2018 в 23:44

Попробуйте указать весь путь к исполняемым файлам, которые вы используете. Я думаю, они не найдены, поскольку переменная $ HOME или $ PATH должна отличаться от корня и пользователя.

Если то, что я сказал, является проблемой, источником ее должно быть местоположение letsencrypt двоичный, вероятно, не найденный root

1
ответ дан 23 July 2018 в 15:55
  • 1
    Хорошее предложение. Я попробовал. Работает из командной строки, но, к сожалению, все еще получает ошибку «не найден» от cron. Вот исправленная команда / ошибка: /bin/sh: 1: sudo /usr/sbin/service nginx-sp stop && yes | /usr/bin/letsencrypt --standalone renew &>/dev/null && /usr/sbin/service nginx-sp start && /usr/sbin/service nginx-sp reload: not found – Douglas McDonald 7 May 2018 в 23:40
  • 2
    дважды запустите эту команду как пользователь и один раз с правами root: whereis service nginx-sp letsencrypt – WiKrIe 7 May 2018 в 23:51
  • 3
    Я запускаю все как root (надеюсь), избегая любых ошибок пользователя. Вот результат: letsencrypt: /usr/bin/lets encrypt /etc/letsencrypt /usr/share/man/man1/letsencrypt.1.gz – Douglas McDonald 7 May 2018 в 23:57
  • 4
    Вы пытались использовать /etc/letsencrypt вместо /usr/bin/letsencrypt на кронтабе? – Manel Reis 8 May 2018 в 00:20
  • 5
    @ManelReis Я понимаю, что /etc/letsencrypt является источником, а не двоичным. Но я попробовал это независимо. Работает из командной строки, а не из cron. Я также добавил полный путь к yes (/ usr / bin / yes) на всякий случай - не повезло. – Douglas McDonald 8 May 2018 в 00:39

Об этом уже сообщалось как проблема для поставщика сценариев:

https://github.com/rehmatworks/serverpilot-letsencrypt/issues/8

Поэтому вам стоит подождать ответ там.

Обновление: проблема решена теперь Scriptowner на Github, пожалуйста, проверьте Github , rehmatworks прокомментировал 12 часов назад

Решение: отмените сценарий, и вы сможете делать гораздо больше с большой легкостью.

извините chris

1
ответ дан 23 July 2018 в 15:55
  • 1
    Спасибо, Кристиан. Да. Я знаю об этом. Я был одним из плакатов этой проблемы. К сожалению, я не получил ответа от dev (уже пару недель), и я подозреваю, что это общая проблема cron, а не проблема с скриптом. – Douglas McDonald 7 May 2018 в 23:44

Другие вопросы по тегам:

Похожие вопросы: