1行必要:すでに実行されている場合はhttpdを停止し、そうでない場合はhttpdを起動します。

1行必要:すでに実行されている場合はhttpdを停止し、そうでない場合はhttpdを起動します。

CentOS 7 構成スクリプトの一部として一行次の操作を行います。残念ながら、私はこれを達成する方法を知りません。

  • httpd が実行中の場合は停止します。
  • httpdが実行されていない場合は、httpdがインストールされていることを確認して起動します。
  • 理想的には、結果は/log/httpd/に記録されます。そして/&ホスト名/ログ/httpd/

誰でも助けることができますか?

ベストアンサー1

CentOS7には、ほとんどのタスクを実行するsystemctlがあります。 Apacheが標準パッケージを介してインストールされている場合はすぐに動作します。

echo -n $(date +"%s %F %T"): \
if systemctl is-active httpd; then \
    systemctl stop httpd && echo "httpd stopped"; \
elif systemctl enable httpd; then \
    systemctl start httpd && echo "httpd started"; \
else \
    echo "httpd not installed"; false;\
fi 2>&1 || echo "Failure: $?" | \
 tee -a /var/log/httpd/status.log /some/other/location/log/httpd/status.log

明確にするために行に分けました。 1行に折りたたむには、\と改行を削除します。ロギングに詳細を追加できます。

おすすめ記事