Reinício entre plataformas do Apache

2

Gostaria de ter um único comando que reinicie o Apache em qualquer sistema operacional * nix. Atualmente estou trabalhando com o Ubuntu, que tem

  • /usr/sbin/apache2ctl
  • /usr/sbin/service
  • não apachectl
  • não httpd

e Scientific Linux CERN 5, que tem

  • /usr/sbin/apachectl
  • /etc/init.d/httpd
  • não apache2ctl
  • não service

Gostaria de evitar o uso de um hack como which service 2>/dev/null || which /etc/init.d/httpd

    
por l0b0 02.06.2010 / 11:57

2 respostas

2

apachectl / apache2ctl é o apache construído em ferramenta para controlar o apache, é provavelmente a ferramenta certa para usar no seu caso, pois vem com o apache, será o algum em todos os sistemas operacionais. O apachectl é normalmente para o Apache 1.xe o apache2ctl para o Apache 2.x.
Se o SLC5 vem com o Apache 2.x é bem estranho, mas você pode executar tanto o apachectl quanto o apache2ctl em seu script.

    
por 02.06.2010 / 12:31
1

Você pode usar um script que verifique qual apachectl está instalado e, em seguida, execute o apropriado.

#!/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
    
por 23.01.2013 / 17:17

Tags