falc / robo-system-service
Robo tasks related to system service management.
Requires
- codegyre/robo: ~0.5
Requires (Dev)
- phpunit/phpunit: ~4.1
This package is not auto-updated.
Last update: 2024-12-21 18:47:41 UTC
README
Collection of tasks for interacting with system service managers.
Requirements
- Robo ~0.5 (0.5.0 or higher)
Installation
Add the falc/robo-system-service
package to your composer.json
:
composer require falc/robo-system-service
Add the Falc\Robo\Service\loadTasks
trait to your RoboFile
:
class RoboFile extends \Robo\Tasks { use Falc\Robo\Service\loadTasks; // ... }
Tasks
Start
Starting a service:
$this->taskServiceStart() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceStart('systemd', 'service1')->run();
You can combine it with taskSshExec()
to start services in a remote server:
$startTask = $this->taskServiceStart() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($startTask) ->run();
Stop
Stopping a service:
$this->taskServiceStop() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceStop('systemd', 'service1')->run();
You can combine it with taskSshExec()
to stop services in a remote server:
$stopTask = $this->taskServiceStop() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($stopTask) ->run();
Restart
Restarting a service:
$this->taskServiceRestart() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceRestart('systemd', 'service1')->run();
You can combine it with taskSshExec()
to restart services in a remote server:
$restartTask = $this->taskServiceRestart() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($restartTask) ->run();
Reload
Reloading a service:
$this->taskServiceReload() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceReload('systemd', 'service1')->run();
You can combine it with taskSshExec()
to reload services in a remote server:
$reloadTask = $this->taskServiceReload() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($reloadTask) ->run();
Enable
Enabling a service:
$this->taskServiceEnable() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceEnable('systemd', 'service1')->run();
You can combine it with taskSshExec()
to enable services in a remote server:
$enableTask = $this->taskServiceEnable() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($enableTask) ->run();
Disable
Disabling a service:
$this->taskServiceDisable() ->serviceManager('systemd') ->service('service1') ->run();
Compact form:
$this->taskServiceDisable('systemd', 'service1')->run();
You can combine it with taskSshExec()
to disable services in a remote server:
$disableTask = $this->taskServiceDisable() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($disableTask) ->run();
Daemon reload
This task is supported only for systemd.
$this->taskServiceDaemonReload() ->serviceManager('systemd') ->run();
Compact form:
$this->taskServiceDaemonReload('systemd')->run();
You can combine it with taskSshExec()
to reload systemd manager configuration in a remote server:
$daemonReloadTask = $this->taskServiceDaemonReload() ->serviceManager('systemd'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($daemonReloadTask) ->run();
Methods
All the tasks implement these methods:
serviceManager($serviceManager)
: Sets the service manager to use.service()
: Sets the service to manage.verbose()
: Enables the verbose mode.
Service managers
Every task requires to set a service manager either in the constructor or using the serviceManager($serviceManager)
method.
At the moment these are the supported service managers: