我在ansible的服务器上写了一个deploy_mysql的shell文件。ansible如何对100台服务器执行这个mysql部署shell文件
时间: 2024-10-13 08:08:24 浏览: 30
在Ansible中,你可以通过编写 Playbook 来管理和部署你的MySQL脚本到多台服务器。Playbook是一个包含一系列任务的YAML文件,用于自动化运维操作。下面是如何步骤执行:
1. **创建 playbook**: 首先,你需要在你的Ansible目录下创建一个新的YAML文件,例如`mysql_deploy.yml`。在这个文件中,定义 `hosts` 和 `tasks` 部分。
```yaml
---
- hosts: all
become: yes # 如果需要sudo权限
tasks:
- name: Copy MySQL deployment script
copy:
src: deploy_mysql.sh # 本地Shell脚本路径
dest: /path/to/deploy/mysql.sh # 服务器上目标路径
- name: Run deployment script
command: sh /path/to/deploy/mysql.sh
```
这里假设所有服务器都在`all`这个组里,并且你已经配置了SSH免密登录。
2. **配置 inventory**: 确保你有一个 Ansible Inventory 文件(如`hosts`或`groups`),列出你的100台服务器及其对应的主机名、IP地址或标签。
3. **运行 playbook**:
使用命令行工具 `ansible-playbook` 执行你的 playbook,比如:
```
ansible-playbook mysql_deploy.yml
```
这将会将`deploy_mysql.sh`脚本复制到每台服务器并尝试运行它。记得根据实际环境调整权限和其他细节。
阅读全文