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

httpd reload как вторая команда в bash не работает

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

Для этого я использую следующее:

sudo /home/ec2-user/letsencrypt/letsencrypt-auto --config 
/home/ec2-user/letsencrypt/cert.ini certonly --debug 
&& service httpd reload

Что дает мне следующее:

Updating letsencrypt and virtual environment dependencies......
Requesting root privileges to run with virtualenv:  /root/.local/share/letsencrypt/bin/letsencrypt --config /home/ec2-user/letsencrypt/secure_textinconfidence_com.ini certonly --debug
Version: 1.1-20080819
Version: 1.1-20080819

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/secure.textinconfidence.com/fullchain.pem.
   Your cert will expire on 2016-05-03. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Reloading httpd: not reloading due to configuration syntax error
                                                   [FAILED]

Однако когда я бегу:

sudo service httpd configtest

Я получил:

Syntax OK

Что-то не так с моей командой при объединении с обновлением сертификата?

Как указано в @chicks, оболочка интерпретирует часть && без sudo:

sudo /home/ec2-user/letsencrypt/letsencrypt-auto --config 
/home/ec2-user/letsencrypt/cert.ini certonly --debug 
&& sudo service httpd reload

Сортирует проблему