Apache的跨平台重启

我希望有一个命令可以在任何* nix操作系统上重新启动Apache。 目前我正在和Ubuntu一起工作

  • /usr/sbin/apache2ctl
  • /usr/sbin/service
  • 没有apachectl
  • 没有httpd

和科学Linux CERN 5,其中

  • /usr/sbin/apachectl
  • /etc/init.d/httpd
  • 没有apache2ctl
  • 没有service

我想避免使用像which service 2>/dev/null || which /etc/init.d/httpd which service 2>/dev/null || which /etc/init.d/httpd

apachectl / apache2ctl是apache内置的工具来控制apache,它可能是你的情况下使用正确的工具,因为它与apache它将是所有操作系统上的一些。
apachectl通常用于Apache 1.x,apache2ctl用于Apache 2.x.
如果SLC5带有Apache 2.x,那就很奇怪了,但是你可以在你的脚本中运行apachectl和apache2ctl。

您可以使用脚本来检查安装了哪个apachectl,然后运行相应的脚本。

 #!/bin/bash if [ -e /usr/sbin/apacche2ctl ] then /usr/sbin/apache2ctl restart elif [ -e /usr/sbin/apachectl ] then /usr/sbin/apachectl restart else echo "No Apache control program found" fi