falc / robo-system-service
与系统服务管理相关的机器人任务。
v0.2.0
2016-10-11 18:50 UTC
Requires
- codegyre/robo: ~0.5
Requires (Dev)
- phpunit/phpunit: ~4.1
This package is not auto-updated.
Last update: 2024-09-28 17:23:04 UTC
README
与系统服务管理器交互的任务集合。
需求
- Robo ~0.5 (0.5.0或更高版本)
安装
将 falc/robo-system-service 包添加到您的 composer.json
composer require falc/robo-system-service
将 Falc\Robo\Service\loadTasks 特性添加到您的 RoboFile
class RoboFile extends \Robo\Tasks { use Falc\Robo\Service\loadTasks; // ... }
任务
启动
启动服务
$this->taskServiceStart() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceStart('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上启动服务
$startTask = $this->taskServiceStart() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($startTask) ->run();
停止
停止服务
$this->taskServiceStop() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceStop('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上停止服务
$stopTask = $this->taskServiceStop() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($stopTask) ->run();
重启
重启服务
$this->taskServiceRestart() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceRestart('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上重启服务
$restartTask = $this->taskServiceRestart() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($restartTask) ->run();
重新加载
重新加载服务
$this->taskServiceReload() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceReload('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上重新加载服务
$reloadTask = $this->taskServiceReload() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($reloadTask) ->run();
启用
启用服务
$this->taskServiceEnable() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceEnable('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上启用服务
$enableTask = $this->taskServiceEnable() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($enableTask) ->run();
禁用
禁用服务
$this->taskServiceDisable() ->serviceManager('systemd') ->service('service1') ->run();
紧凑格式
$this->taskServiceDisable('systemd', 'service1')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上禁用服务
$disableTask = $this->taskServiceDisable() ->serviceManager('systemd') ->service('service1'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($disableTask) ->run();
守护进程重新加载
此任务仅支持systemd。
$this->taskServiceDaemonReload() ->serviceManager('systemd') ->run();
紧凑格式
$this->taskServiceDaemonReload('systemd')->run();
您可以将它与 taskSshExec() 结合使用,在远程服务器上重新加载systemd管理器配置
$daemonReloadTask = $this->taskServiceDaemonReload() ->serviceManager('systemd'); $this->taskSshExec('remote.example.com') ->remoteDir('/home/user') ->printed(false) // Do not display output ->exec($daemonReloadTask) ->run();
方法
所有任务都实现了这些方法
serviceManager($serviceManager):设置要使用的服务管理器。service():设置要管理的服务。verbose():启用详细模式。
服务管理器
每个任务都需要在构造函数中或使用 serviceManager($serviceManager) 方法设置一个服务管理器。
目前支持的这些服务管理器