table of contents
- buster 1.6.0-1
- buster-backports 1.12.2-1~bpo10+1
- testing 1.13.2-1
- unstable 1.13.3-1
Rex::Commands::Service(3pm) | User Contributed Perl Documentation | Rex::Commands::Service(3pm) |
NAME¶
Rex::Commands::Service - Manage System ServicesDESCRIPTION¶
With this module you can manage Linux services.SYNOPSIS¶
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";
EXPORTED FUNCTIONS¶
service($service, $action, [$option])¶
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.
service_provider_for $os => $type;¶
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).
2020-09-18 | perl v5.28.1 |