Как подтвердить проверку let-encrypt --dry-run в bash через aws UserData - PullRequest
0 голосов
/ 27 марта 2019

Я написал скрипт запуска для использования php и aws sdk, он вызывает соответствующий скрипт userdata.sh для настройки экземпляра aws. Часть функции скриптов заключается в настройке сертификата ssl с помощью let encrypt, после установки let-encrypt и внесения изменений в ip и т. Д., Которые он в конечном итоге вызывает:

echo $(/opt/letsencrypt/certbot-auto certonly --webroot -w /var/www/html/$host.com/$environment.$domain.com -d $environment.$domain.com -d www.$environment.$domain.com -c /opt/letsencrypt/config.ini --agree-tos -n --dry-run)

Вышеуказанное возвращает:

Запрос на повторный запуск / opt / letsencrypt / certbot-auto с привилегиями root ... Сохранение журнала отладки в /var/log/letsencrypt/letsencrypt.log Выбранные плагины: webroot-аутентификатор, установщик отсутствует Сертификат не подлежит обновлению, но имитирует обновление для пробного прогона Обновление существующего сертификата Выполнение следующих задач: http-01 вызов для environment.domain.com http-01 вызов для www.environment.domain.com Использование пути к корню /var/www/html/host.com/environment.domain.com для всех непревзойденных доменов. В ожидании подтверждения ... Очистка вызовов

ВАЖНЫЕ ЗАМЕЧАНИЯ: - Пробный заезд прошел успешно.

Я хочу убедиться, что тест прошел успешно, прежде чем снова попытаться выполнить ту же команду без флага --dry-run. Как я могу это сделать?

1 Ответ

0 голосов
/ 27 марта 2019

Надеюсь, это поможет кому-то еще в будущем:

$testval = /opt/letsencrypt/certbot-auto certonly --webroot -w /var/www/html/$host.com/$environment.$domain.com -d $environment.$domain.com -d www.$environment.$domain.com -c /opt/letsencrypt/config.ini --agree-tos -n --dry-run

if [[ $($testval) == *" - The dry run was successful."* ]]; then echo "true"; else echo "false"; fi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...