falc / robo-system-service
Robo tasks related to system service management.
Installs: 60
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 1
Open Issues: 0
pkg:composer/falc/robo-system-service
Requires
- codegyre/robo: ~0.5
Requires (Dev)
- phpunit/phpunit: ~4.1
This package is not auto-updated.
Last update: 2025-11-08 23:07:34 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: