NAME

Ubic::Service::InitScriptWrapper - represent any /etc/init.d/ script as ubic service

VERSION

version 0.02

SYNOPSIS

# in /etc/ubic/service/my-nginx
use Ubic::Service::InitScriptWrapper;
Ubic::Service::InitScriptWrapper->new('nginx'); # map /etc/init.d/nginx to 'my-nginx' ubic service

DESCRIPTION

This module lets you turn any LSB-compliant init script into ubic service.

Note that this is completely different from Ubic::Run. Ubic::Run lets you turn ubic service to init script. This module does the reverse thing.

WHY?

There are several reasons why this module can be useful.

First, it allows you to use all ubic features (watchdog, pretty CLI interface, persistent service states) without changing any of your code.

Second, some daemons don't provide a way not to detach them from a terminal. Classic init scripts usually use start-stop-daemon to start these daemons. Ubic::Daemon and Ubic::Service::SimpleDaemon can't be used to start such processes. You could write system('start-stop-daemon ...') in your ubic service code, but if you already got a working init script, why bother?

CAVEATS

CONSTRUCTOR

new($init_script_name)

If $init_script_name contains /, it'll be interpreted as a filename.

Otherwise, /etc/init.d/$init_script_name will be used.

AUTHOR

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.