playbook 分发执行脚本_执行Shell脚本

Playbook 分发执行脚本

Playbook 是 Ansible 的核心组件,用于自动化配置管理和应用部署,通过编写 Playbook,我们可以实现对多台主机的批量操作,在本节中,我们将介绍如何使用 Ansible Playbook 来分发和执行 Shell 脚本。

playbook 分发执行脚本_执行Shell脚本
(图片来源网络,侵删)

准备工作

1、确保已经安装了 Ansible,如果没有安装,可以参考官方文档进行安装:http://docs.ansible.com/ansible/intro_installation.html

2、准备一个 Shell 脚本,我们创建一个名为 test.sh 的脚本文件,内容如下:

#!/bin/bash
echo "Hello, World!"

3、为 test.sh 脚本添加可执行权限:

chmod +x test.sh

编写 Playbook

1、创建一个名为 deploy.yml 的 Playbook 文件,内容如下:


name: Deploy test.sh script to remote hosts
  hosts: all
  tasks:
    name: Copy test.sh script to remote host
      ansible.builtin.copy:
        src: test.sh
        dest: /tmp/test.sh
        mode: '0755'
    name: Execute test.sh script on remote host
      ansible.builtin.shell: /tmp/test.sh

2、解析 Playbook:

hosts: all:指定目标主机为所有主机,如果需要指定特定的主机,可以使用 hosts: [group_name]group_name 是一个包含主机名或组名的列表。

tasks:定义一系列任务,每个任务都是一个独立的操作,如复制文件、执行脚本等。

ansible.builtin.copy:将本地文件复制到远程主机。src 参数指定本地文件路径,dest 参数指定远程主机上的路径,mode 参数指定文件权限。

ansible.builtin.shell:在远程主机上执行指定的命令,这里我们执行刚刚复制到远程主机的 test.sh 脚本。

执行 Playbook

1、确保已经配置了 Ansible 的远程用户和密钥,可以参考官方文档进行配置:http://docs.ansible.com/ansible/intro_getting_started.html#managingusersandpermissionsonremotemachines

2、使用以下命令执行 Playbook:

ansibleplaybook i inventory.ini deploy.yml

inventory.ini 是一个包含目标主机信息的配置文件,格式如下:

[all]
192、168.1.100 ansible_user=root ansible_ssh_pass=your_password ansible_connection=ssh
192、168.1.101 ansible_user=root ansible_ssh_pass=your_password ansible_connection=ssh

3、如果一切正常,你将在远程主机上看到输出结果:Hello, World!

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/678362.html

(0)
未希的头像未希新媒体运营
上一篇 2024-06-09 07:29
下一篇 2024-06-09 07:33

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入