免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2314 | 回复: 2

ruby 批量执行命令 [复制链接]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
发表于 2013-06-24 19:19 |显示全部楼层
Ruby很多很酷的gem。下面我们来看一个Capistrano
  1. C:\>cap shell
  2.   * 2013-06-24 19:18:08 executing `shell'
  3. ====================================================================
  4. Welcome to the interactive Capistrano shell! This is an experimental
  5. feature, and is liable to change in future releases. Type 'help' for
  6. a summary of how to use the shell.
  7. --------------------------------------------------------------------
  8. cap> on 127.0.0.1 localhost 192.168.1.1 ruby -v
复制代码

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
发表于 2013-06-24 19:22 |显示全部楼层
看下官方的capfile
  1. # an esay way to connect to all instances
  2. # cap shell

  3. set :user, ENV['USER']
  4. ssh_options[:keys] = "~/.ssh/id_rsa"
  5. set :use_sudo, false

  6. raise "USAGE: source ./config/FOLDER/settings.sh && cap fooo" unless ENV['SG_NAME']

  7. instances = `as-describe-auto-scaling-groups $SG_NAME --region $REGION|grep ^INSTANCE`.split("\n")
  8. ids = instances.map{|i| i.split(" ")[1]}

  9. instance_info = `ec2-describe-instances #{ids.join(" ")} --region $REGION|grep ^INSTANCE`
  10. addresses = instance_info.map{|i| i.split(" ")[3]}

  11. #puts "addresses: #{addresses.inspect}"
  12. addresses.each do |address|
  13.   role :app, "#{address}:22"
  14. end

  15. # example to get current queue from haproxy
  16. task :current_queue do
  17.   run "curl 'http://username:password@localhost/haproxy?stats;csv' 2> /dev/null  | grep self | awk '{split($0,a,\",\"); print a[3]}'"
  18. end
复制代码

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
发表于 2013-06-25 14:52 |显示全部楼层
看看我觉得很酷
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP