温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

命令行如何批量操作服务器

发布时间:2026-10-13 09:29:12 来源:亿速云 阅读:92 作者:小樊 栏目:系统运维

“命令行批量操作服务器”通常分两种场景:你已经有服务器列表,想在一台跳板机/本地批量执行命令;或者用自动化工具批量管理成百上千台。下面按常见做法由浅入深讲。


一、最基础的:for 循环 + ssh(适合几台~几十台)

Linux / macOS 本地

for ip in 192.168.1.10 192.168.1.11 192.168.1.12
do
  echo "==== $ip ===="
  ssh user@$ip "uptime; df -h"
done

Windows(PowerShell)

$ips = "192.168.1.10","192.168.1.11"
foreach ($ip in $ips) {
  ssh user@$ip "uptime"
}

✅ 优点:零依赖
❌ 缺点:慢、不能并发、不适合大规模


二、并发执行(加快速度)

GNU parallel(强烈推荐)

parallel -j 10 ssh user@{} "uptime" ::: 192.168.1.10 192.168.1.11

xargs 并发

echo "192.168.1.10 192.168.1.11" | xargs -P 5 -I{} ssh user@{} "uptime"

三、用 pssh(批量 ssh 神器)

安装

# CentOS
yum install pssh

# Ubuntu
apt install pssh

使用

# 主机列表
cat hosts.txt
user@192.168.1.10
user@192.168.1.11

# 批量执行
pssh -h hosts.txt -i "uptime"

# 上传文件
pscp.pssh -h hosts.txt local.conf /etc/local.conf

✅ 适合:几十~几百台


四、Ansible(生产环境标配)

主机清单

[web]
192.168.1.10
192.168.1.11

执行命令

ansible web -m shell -a "df -h"

批量部署

ansible-playbook deploy.yml

✅ 优点:

  • 并发
  • 可编排
  • 有状态管理
  • 企业级

❌ 缺点:学习成本稍高


五、批量服务器初始化常见操作示例

ansible all -m yum -a "name=nginx state=installed"
ansible all -m systemd -a "name=nginx state=started enabled=yes"

六、安全与建议

  • 使用 SSH 密钥登录
  • 禁用密码登录
  • 使用跳板机 / 堡垒机
  • 重要操作先 --check
  • 日志留痕

七、你可以告诉我:

  • 服务器数量(几台 / 几百台)
  • 系统(Linux / Windows)
  • 是否允许装软件
  • 操作类型(执行命令 / 部署 / 配置)

我可以直接给你可复制的脚本或方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手