GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Rex::Commands::Service(3) User Contributed Perl Documentation Rex::Commands::Service(3)

Rex::Commands::Service - Manage System Services

With this module you can manage Linux services.

 use Rex::Commands::Service

 service apache2 => "start";

 service apache2 => "stop";

 service apache2 => "restart";

 service apache2 => "status";

 service apache2 => "reload";

 service apache2 => "ensure", "started";

 service apache2 => "ensure", "stopped";

The service function accepts 2 parameters. The first is the service name and the second the action you want to perform.
starting a service
 task "start-service", "server01", sub {
   service apache2 => "start";
 };
    
stopping a service
 task "stop-service", "server01", sub {
   service apache2 => "stop";
 };
    
restarting a service
 task "restart-service", "server01", sub {
   service apache2 => "restart";
 };
    
checking status of a service
 task "status-service", "server01", sub {
   if( service apache2 => "status" ) {
     say "Apache2 is running";
   }
   else {
     say "Apache2 is not running";
   }
 };
    
reloading a service
 task "reload-service", "server01", sub {
   service apache2 => "reload";
 };
    
ensure that a service will started at boot time
 task "prepare", sub {
   service "apache2",
     ensure => "started";
 };
    
ensure that a service will NOT be started.
 task "prepare", sub {
   service "apache2",
     ensure => "stopped";
 };
    

If you need to define a custom command for start, stop, restart, reload or status you can do this with the corresponding options.

 task "prepare", sub {
   service "apache2",
     ensure  => "started",
     start   => "/usr/local/bin/httpd -f /etc/my/httpd.conf",
     stop    => "killall httpd",
     status  => "ps -efww | grep httpd",
     restart => "killall httpd && /usr/local/bin/httpd -f /etc/my/httpd.conf",
     reload  => "killall httpd && /usr/local/bin/httpd -f /etc/my/httpd.conf";
 };
    

This function supports the following hooks:

before_${action}
For example: "before_start", "before_stop", "before_restart"

This gets executed right before the given service action. All original parameters are passed to it.

after_${action}
For example: "after_start", "after_stop", "after_restart"

This gets executed right after the given service action. All original parameters, and any returned results are passed to it.

To set another service provider as the default, use this function.

 user "root";

 group "db" => "db[01..10]";
 service_provider_for SunOS => "svcadm";

 task "start", group => "db", sub {
    service ssh => "restart";
 };

This example will restart the ssh service via svcadm (but only on SunOS, on other operating systems it will use the default).

2021-07-05 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.