quarta-feira, 21 de janeiro de 2009

Criar serviço

Esta dica é bem útil para quando quiser criar um serviço personalizado para iniciar e parar junto com o sistema operacional. Para isso, é preciso criar um arquivo dentro do caminho /etc/init.d, deixar o root como proprietário e a máscara 755 (-rwxr-xr-x).

Veja este exemplo (uma compilação personalizada do PostgreSQL):

#!/bin/sh -e

# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6

case "$1" in
start)
su postgres -c "/var/lib/pgsql/8.2/bin/pg_ctl -D /etc/postgresql/8.2/main -l /etc/postgresql/8.2/main/pgsql82.log start"
;;
stop)
su postgres -c "/var/lib/pgsql/8.2/bin/pg_ctl -D /etc/postgresql/8.2/main -l /etc/postgresql/8.2/main/pgsql82.log stop"
;;
restart)
=stop
=start
;;
*)
exit 1
;;
esac

exit 0

Existem algumas exigências para a criação do arquivo:
1) A primeira linha #!/bin/sh -e é sempre obrigatória;
2) É preciso ter os métodos start) stop) restart) e *) para garantir a execução.

Depois de ter o arquivo pronto, basta executar:

$ sudo update-rc.d defaults

E pronto! Você terá um serviço que inicia e é interrompido junto com o sistema operacional.

Nenhum comentário:

Seguidores