ansible-playbook 使用 `systemd` 模块,自动化管理远程主机上的 systemd 服务,在多个远程主机上同时启动或停止多个服务。(node1,使用条件判断主机) 启动 httpd 服务,并设置开机自启
时间: 2024-02-17 14:59:40 浏览: 29
可以编写以下 Ansible Playbook 来启动 httpd 服务,并设置开机自启:
```yaml
- hosts: node1
become: true
vars:
httpd_service_name: httpd
tasks:
- name: Start httpd service
systemd:
name: "{{ httpd_service_name }}"
state: started
enabled: yes
```
这个 Playbook 首先指定了要在 `node1` 主机上执行操作,并使用 `become` 来获取管理员权限。然后定义了一个名为 `httpd_service_name` 的变量,来指定要启动的服务名。
在任务列表中,我们使用 `systemd` 模块来启动 `httpd` 服务,并设置 `enabled` 参数为 `yes`,以确保该服务在开机时自动启动。
相关问题
帮我用ansible-playbook 编写个yml文件在k8s节点上安装mariadb并设定开机启动
好的,我可以回答这个问题。以下是一个示例的ansible-playbook yml文件,用于在k8s节点上安装mariadb并设定开机启动:
```
---
- hosts: k8s_nodes
become: true
tasks:
- name: Install MariaDB
apt:
name: mariadb-server
state: present
- name: Enable MariaDB on boot
systemd:
name: mariadb
enabled: yes
masked: no
```
请注意,这只是一个示例文件,具体的安装步骤可能因环境而异。
ansible-playbook停止某个服务并设置开机不自启
您可以使用Ansible的`systemd`模块来停止某个服务并设置开机不自启。假设您要停止并禁止`httpd`服务,可以编写以下playbook:
```yaml
- name: Stop and disable httpd service
hosts: your_host
become: true
tasks:
- name: Stop httpd service
systemd:
name: httpd
state: stopped
enabled: no
```
在上面的playbook中,我们使用`systemd`模块来停止`httpd`服务,并将其设置为不开机自启。
请注意,在执行此playbook之前,确保您的目标主机已经安装了`systemd`服务管理器。
希望对您有所帮助!