“命令行批量操作服务器”通常分两种场景:你已经有服务器列表,想在一台跳板机/本地批量执行命令;或者用自动化工具批量管理成百上千台。下面按常见做法由浅入深讲。
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
$ips = "192.168.1.10","192.168.1.11"
foreach ($ip in $ips) {
ssh user@$ip "uptime"
}
✅ 优点:零依赖
❌ 缺点:慢、不能并发、不适合大规模
parallel -j 10 ssh user@{} "uptime" ::: 192.168.1.10 192.168.1.11
echo "192.168.1.10 192.168.1.11" | xargs -P 5 -I{} ssh user@{} "uptime"
# 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
✅ 适合:几十~几百台
[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"
--check我可以直接给你可复制的脚本或方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。