需要一线:如果已经运行,则停止httpd;如果未运行,则启动httpd

坦率

作为CentOS 7的配置脚本的一部分,我需要一个执行以下操作的单行代码不幸的是,我不知道如何实现这一目标。

  • 如果httpd正在运行,则将其停止
  • 如果httpd没有运行,则检查httpd是否已安装并启动
  • 理想情况下,结果将登录到/ log / httpd / AND /&hostname / log / httpd /

有人能帮忙吗?

奥修斯

在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

为了清楚起见,我将其分为几行。要将其折叠为一行,请删除\和换行符。您可以在日志记录中添加更多详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一线如果

如果正在运行apache(不同版本)的多个实例,如何为每个实例httpd -V?

一线表示“如果找到返回对象”

如果.profile未运行,则启动它。Linux Mint 19

grunt任务:如果未运行,请启动mongod

grep重新启动脚本(如果未运行)

如果它在android的同一线程中运行,为什么要使用Service

启动节点(如果尚未运行)

Mediaplayer运行时如何启动动画。如果Mediaplayer未运行,则动画也将无法运行

Roblox,如果语句未运行

如果语句未运行-iOS

如果代码已经运行,则不应执行

Docker运行Exited 1 httpd

如果已经运行,如何阻止粘性应用程序启动新实例?

如果已经安装了.NET Core SDK,是否需要安装.NET Core运行时?

如果已经播放就停止

激活(如果已经运行,则运行或置于前面)程序的命令

如果我等待已经运行或运行的任务会怎样?

如何在需要时暂停正在运行的线程并重新启动同一线程?

Apache Web服务器正在运行,但httpd未运行

如果启动了一个启动或未启动的过程,您如何在不关心的情况下运行pm2 cron作业?

如果运行,暴发户停止

如果满足条件,则停止运行 while 循环

Shell 脚本,如果失败则停止运行

如果if语句后,Python代码停止运行

如果用户输入输入,则停止运行功能

如果双击运行如何停止码头?

如果另一个实例已经在运行,如何防止执行 cronjob?

如果我运行cordova应用程序,Visual Studio将停止并重新启动