Skip to content

Instantly share code, notes, and snippets.

@taka328w
Created January 15, 2012 14:02
Show Gist options
  • Save taka328w/1615946 to your computer and use it in GitHub Desktop.
Save taka328w/1615946 to your computer and use it in GitHub Desktop.
/etc/hosts生成
# coding: utf-8
require 'rubygems'
require 'aws-sdk'
config = {:access_key_id => 'アクセスキー ID',
:secret_access_key => 'シークレットアクセスキー'}
AWS.config(config)
hosts = []
hosts << "127.0.0.1\tlocalhost localhost.localdomain"
AWS::EC2.new.instances.each do |instance|
next unless instance.status == :running
tags = instance.tags.to_h
hosts << "#{instance.private_ip_address}\t#{tags["Name"]}"
end
# バックアップを取って、差分があれば差し替え
`cp -p /etc/hosts /etc/hosts.bak`
open("/etc/hosts.new", "w") {|f| f.write hosts.join("\n")+"\n"}
is_same = system("diff -q /etc/hosts.new /etc/hosts > /dev/null 2>/dev/null")
unless is_same
`cp -p /etc/hosts.new /etc/hosts`
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment