浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何在多台linux上同时跑相同的command? - Linux - 乐维UP


0
74d9bef72014d69517223503770dcd13768668

 

,IT系统运维人员

我们有十几台linux的服务器,有时候需要同时跑相同的command,有时候需要同时跑不同的command。关键点是,要同时跑。有什么自动化的方法或者工具实现这个功能,而不是同时log in进去跑命令行?

菜鸟求指点。

 

 

 

2 条评论

User_missing_tiny
自动化作业系统 比如HITACHI JP1 AJS 可以做到根据指定运行时间 进行计划调度 跨多平台 图形化界面


2012年04月24日



74d9bef72014d69517223503770dcd13768668
回复melonking:收到,回头试试看。


2012年04月24日



共 2 个答案


4
11add801fe99ea4bb04595b55c2fba9065411

 

,纷繁快速的IT里面只能修炼内功:以不变应万变

puppet/cfengine.

他们的工作原理就是C/S, 每个机器节点都有一个进程, 会监听管理端的更新. 然后执行相关指令.

当然可以从管理端主动发起指令, 让节点执行某个cmd, 就和你的要求相符.

puppet只一个集中化管理的好工具和方向, 可以要好好学习一下.

 

 
1 条评论
99db8569ef6f7cd0b4c02617fd3986cc502913


2012年04月21日




3
2fc786c2dbd21d8124955945cb4177e3175875

 

,运维数据开发混合体, 略懂多, 精懂少.

我有三种方法推荐:

  1. 同赞puppet, 它可以设置两种状态, 固定时间监听或者是手动执行, 客户端监听状态下, 只要你在服务端修改下puppet管理的配置就可以在指定的多台client下同时执行你想要的命令.

    但目前puppet我们主要还是用于服务器初始化, 配置管理 , 固定命令执行(例如代码分发, 同步, 上线)等. 普通的一些命令反而没用puppet , 因为感觉还是有些麻烦.

  2. 如果会python的话, 我建议使用 fablic 这个包 假如有A B C 三台机器, 要在上面执行ls -l的命令 你可以使用 fab A B C "ls -l" 的方式来执行

    它的原理其实就是ssh 过去执行, 所以要确保你当前的用户要有A B C 三台机的 ssh key

    fablic 不但可以做到这些, 你还可以对服务器分类, 对命令分类, 每次对某一类服务器执行某种命令等等, 还可以定义将不同的执行结果用不同的颜色显示.

  3. 就是自己写脚本了..

#!/bin/bash     
if [ $1"~" == "~" ] ; then     
  echo "I need server names"     
  exit     
else     
  SERVER_NAMES=(${1//,/ })     
fi     
if [ $2"~" == "~" ] ; then     
  echo "I need commend"     
  exit     
else     
  COMMEND=$2     
fi     
for sn in ${SERVER_NAMES[@]}     
do     
  ssh  $sn "$COMMEND"     
done  
posted on 2012-05-09 07:28  lexus  阅读(395)  评论(0编辑  收藏  举报