Skip to content
This repository

Polymorphic service manager.


    * fix various documentation typos
    (thanks to github:dsteinbrunner and github:akarelas for patches)
    * modernize Ubic::Ping to respond with http 1.1 message and a proper content-type header
    (thanks to github:alnewkirk)
latest commit 573aacd4df
Vyacheslav Matyukhin authored November 21, 2013
Octocat-spinner-32 bin prepend /usr/local/bin to the PATH, not append May 13, 2013
Octocat-spinner-32 debian 1.54-1 in debian changelog June 05, 2013
Octocat-spinner-32 etc fix service name in the watchdog init script June 11, 2012
Octocat-spinner-32 lib typo fix for typo fix ;-P November 20, 2013
Octocat-spinner-32 redhat add a rpm specfile February 15, 2013
Octocat-spinner-32 root_t root_t now work on MacOSX; new credentials tests June 15, 2012
Octocat-spinner-32 t minor autostart doc and test fixes May 28, 2013
Octocat-spinner-32 xt memleak test - increase allowed variation limit May 23, 2012
Octocat-spinner-32 .gitignore debian/ files simplified April 14, 2011
Octocat-spinner-32 Changes v1.57 November 21, 2013
Octocat-spinner-32 MANIFEST.SKIP 1.08 version August 03, 2010
Octocat-spinner-32 add a rpm specfile February 15, 2013
Octocat-spinner-32 dist.ini preparing for 1.57 release November 21, 2013


Ubic is a polymorphic service manager.

"Polymorphic" means that Ubic can use various pluggable backends for managing services, for configuring services and even for describing a list of all services. Don't panic, it offers easy-to-use default solutions for the common tasks out-of-the-box too!

1 minute intro

Put this code in file /etc/ubic/service/example.ini:

bin = sleep 100

Start it:

$ ubic start example
Starting example... started (pid 41209)

Check its status:

$ ubic status
example running (pid 41209)
ubic   off
    ubic.update off
    ubic.watchdog   running (pid 93226)


$ ubic status example
example running (pid 41209)

Now let's see how watchdog works by killing the process (don't forget to change pid with the pid you got in status command above):

$ kill 41209

$ ubic status example
example not running

$ ubic-watchdog
[Thu May 26 20:20:54 2011]  example is broken, restarting

You don't have to run ubic-watchdog manually; it will do its work in background in a minute.

Read Ubic::Manual::Intro and Ubic::Manual::Overview for more.


Run 'cpan -i Ubic && ubic-admin setup' to install Ubic.

We also provide .deb packages for Debian/Ubuntu. Latest .deb package can be downloaded from ppa:berekuk/ubic (see for details).

Debian package build can be reproduced with this command: dzil build && cd Ubic* && cp -r ../debian . && debuild

Rpm package can be created with this command: rpmbuild -ba redhat/perl-Ubic.spec

If you'll write an ebuild for Gentoo, please contribute it back :)


After installing, you can find documentation for this module using perldoc and man commands.

man ubic
perldoc Ubic

You can also look for information at:


Our IRC channel: irc://

There is also a low-volume mailing list is Send an empty message to to subscribe.

Copyright and licence

Copyright (c) 2009-2012 Yandex LTD. All rights reserved.

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



I don't actually need donations. I get paid at my $job for hacking on Ubic anyway. But I like Flattr's concept, so why not.

Flattr this git repo

You can also +1 Ubic on MetaCPAN if you like it. alpha

Something went wrong with that request. Please try again.