ansible service 模块

ansible service 模块

概要

  • 控制远程主机上的服务。支持的 init 系统包括 BSD init、OpenRC、SysV、Solaris SMF、systemd、upstart。
  • 对于 Windows 目标,请改用win_service模块。

参数

parmeterchoices/defaultscomments
dependencies要为此特定服务设置的服务依赖项列表。这应该是服务名称的列表,而不是服务的显示名称。它通过dependency_action来添加/删除或设置列表中的服务。
dependencies_actionadd or remove or set,默认setdependency项结合使用,可将依赖项添加到现有服务依赖项中。删除对现有依赖项的依赖项。将依赖项设置为仅替换现有依赖项的列表中的值。
description要为服务设置的描述。
desktop_interactyes or no,默认no如果yes,停止或重新启动具有依赖服务的服务将强制依赖的服务也停止或重新启动。如果no,停止或重启有依赖服务的服务可能会失败。
display_name要为服务设置的显示名称。
force_dependent_servicesyes or no,默认no如果yes,停止或重新启动具有依赖服务的服务将强制依赖的服务也停止或重新启动。如果no,停止或重启有依赖服务的服务可能会失败。
name服务的名称,如果只指定了name参数,模块将报告服务是否存在,而不做任何更改。
password将服务设置为启动的密码。这和username参数必须一起提供。如果指定LocalSystem, NetworkService或LocalService,该字段必须是一个空字符串,不能为空。
path要为服务设置的可执行文件的路径。
start_modeauto or delayed or disabled or manual,默认auto设置服务的启动类型。新创建的服务将默认为auto。
startabsent or paused or started or stopped or restarted,默认stopped服务的期望状态。started/stopped/absent/paused是幂等操作,除非必要,否则不会运行命令。restarted会重启服务
username将服务设置为启动的用户名。在使用本地帐户或域帐户时,必须同时提供此参数和password参数。设置为“LocalSystem”表示使用SYSTEM帐户。新创建的服务将默认为LocalSystem。如果使用自定义用户帐户,它必须被授予SeServiceLogonRight才能启动。您可以使用win_user_right模块为您授予该用户权限。

例子

- name: Restart a service
  win_service:
    name: spooler
    state: restarted

- name: Set service startup mode to auto and ensure it is started
  win_service:
    name: spooler
    start_mode: auto
    state: started

- name: Pause a service
  win_service:
    name: Netlogon
    state: paused

- name: Ensure that WinRM is started when the system has settled
  win_service:
    name: WinRM
    start_mode: delayed

# A new service will also default to the following values:
# - username: LocalSystem
# - state: stopped
# - start_mode: auto
- name: Create a new service
  win_service:
    name: service name
    path: C:\temp\test.exe

- name: Create a new service with extra details
  win_service:
    name: service name
    path: C:\temp\test.exe
    display_name: Service Name
    description: A test service description

- name: Remove a service
  win_service:
    name: service name
    state: absent

- name: Check if a service is installed
  win_service:
    name: service name
  register: service_info

# This is required to be set for non-service accounts that need to run as a service
- name: Grant domain account the SeServiceLogonRight user right
  win_user_right:
    name: SeServiceLogonRight
    users:
    - DOMAIN\User
    action: add

- name: Set the log on user to a domain account
  win_service:
    name: service name
    state: restarted
    username: DOMAIN\User
    password: Password

- name: Set the log on user to a local account
  win_service:
    name: service name
    state: restarted
    username: .\Administrator
    password: Password

- name: Set the log on user to Local System
  win_service:
    name: service name
    state: restarted
    username: LocalSystem
    password: ''

- name: Set the log on user to Local System and allow it to interact with the desktop
  win_service:
    name: service name
    state: restarted
    username: LocalSystem
    password: ""
    desktop_interact: yes

- name: Set the log on user to Network Service
  win_service:
    name: service name
    state: restarted
    username: NT AUTHORITY\NetworkService
    password: ''

- name: Set the log on user to Local Service
  win_service:
    name: service name
    state: restarted
    username: NT AUTHORITY\LocalService
    password: ''

- name: Set dependencies to ones only in the list
  win_service:
    name: service name
    dependencies: [ service1, service2 ]

- name: Add dependencies to existing dependencies
  win_service:
    name: service name
    dependencies: [ service1, service2 ]
    dependency_action: add

- name: Remove dependencies from existing dependencies
  win_service:
    name: service name
    dependencies:
    - service1
    - service2
    dependency_action: remove

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Ansible常见的模块包括copy模块service模块、raw模块、command模块、shell模块、ping模块、cron模块、user模块、group模块、file模块、hostname模块、yum模块、systemd模块、script模块和setup模块。copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。raw模块类似于shell模块,但更适用于老版本的python或者客户端是路由器等没有安装python模块的情况。command模块和shell模块用于执行命令,但command模块不调用shell指令,而shell模块调用/bin/sh指令执行。ping模块用于检测主机的连通性。cron模块用于管理定时任务。user模块和group模块用于管理用户和用户组。file模块用于管理文件和目录。hostname模块用于设置主机名。yum模块用于管理软件包。systemd模块用于管理systemd服务。script模块用于执行脚本。setup模块用于收集主机的系统信息。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Ansible](https://blog.csdn.net/weixin_42431980/article/details/119420775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ansible常用模块](https://blog.csdn.net/kx0822/article/details/124965025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值