Linux 下多机执行一个脚本
时间: 2024-05-09 20:20:42 浏览: 15
在 Linux 中,可以使用多种工具来实现多机执行一个脚本的功能,比如:
1. Shell 脚本
可以编写一个 Shell 脚本,其中包含需要在多台机器上执行的命令。然后使用 SSH 连接到每台机器上,执行脚本。
示例:
```
#!/bin/bash
for host in host1 host2 host3
do
ssh user@$host 'bash -s' < script.sh
done
```
其中,`script.sh` 是需要在远程机器上执行的脚本,`user` 是连接远程机器时使用的用户名,`host1`、`host2`、`host3` 是需要执行脚本的远程机器地址。
2. Ansible
Ansible 是一个自动化运维工具,可以用来批量管理和部署多台机器。可以编写一个 Ansible playbook,其中包含需要在多台机器上执行的任务。
示例:
```
- name: Execute script on multiple hosts
hosts: host1:host2:host3
remote_user: user
tasks:
- name: Run script
script: script.sh
```
其中,`user` 是连接远程机器时使用的用户名,`host1`、`host2`、`host3` 是需要执行脚本的远程机器地址,`script.sh` 是需要在远程机器上执行的脚本。
3. Fabric
Fabric 是一个基于 Python 的自动化运维工具,可以用来批量管理和部署多台机器。可以编写一个 Fabric 脚本,其中包含需要在多台机器上执行的任务。
示例:
```
from fabric import Connection
hosts = ['host1', 'host2', 'host3']
user = 'user'
def execute_script():
with Connection(hosts=hosts, user=user) as conn:
conn.run('bash script.sh')
execute_script()
```
其中,`user` 是连接远程机器时使用的用户名,`host1`、`host2`、`host3` 是需要执行脚本的远程机器地址,`script.sh` 是需要在远程机器上执行的脚本。