Ubic::Run - really simple way to write init scripts
# /etc/init.d/foo: use Ubic::Run; # proxy to 'foo' ubic service # Or, if you want to rename the service or bind the service containing dots in its name: # /etc/init.d/foo-bar: use Ubic::Run qw(foo.bar); # proxy to 'foo.bar' ubic service
This module allows to represent any ubic service as an init script.
It resolves service name automatically by looking at process
Currently, it supports systems where init script is located at
/etc/init.d/ (LSB-compatible systems as specified by http://refspecs.freestandards.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/initsrcinstrm.html, for example, Debian and Ubuntu) and systems where this directory is called
/etc/rc.d/init.d/ (for example, RedHat).
BUGS AND CAVEATS
*nix distributions can use different places for init scripts.
If your system doesn't conform to cases listed in description, you'll have to set the service name in import parameters.
Note that you usually don't want to use SysV-style rcX.d runlevel symlinks, because Ubic remembers if service should be running by other means (by storing status files in
/var/lib/ubic/status/), ubic.watchdog brings all enabled services up in one minute after reboot, and usually it's all you need anyway. See "How is ubic compatible with SysV-style /etc/rcX.d/ symlinks?" in Ubic::Manual::FAQ for more details in this topic.
Ubic::Service::InitScriptWrapper solves the reverse task: represent any init script as ubic service.
Vyacheslav Matyukhin <email@example.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 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.