NewMonarch (owner)

Revisions

gist: 140268 Download_button fork
public
Public Clone URL: git://gist.github.com/140268.git
Embed All Files: show embed
s3_bucket_to_bucket.rb #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
s3_config = YAML.load_file(RAILS_ROOT + "/config/amazon_s3.yml")
s3_config = s3_config['staging'].to_options
 
@s3 = RightAws::S3.new(s3_config[:access_key_id], s3_config[:secret_access_key])
@s3_interface = RightAws::S3Interface.new(s3_config[:access_key_id], s3_config[:secret_access_key])
 
to_bucket = @s3.bucket(<bucket_name>)
to_bucket = @s3.bucket(<bucket_name>)
 
keys = from_bucket.keys('prefix' => 'background_images')
keys.each do |key|
  (1..10).each do |try|
    begin
      puts "Copying #{from_bucket.name}/#{key.name} to #{to_bucket.name}/#{key.name}"
      from_bucket.s3.interface.copy(from_bucket.name, key.name, to_bucket.name, key.name)
      from_acl = @s3_interface.get_acl(from_bucket.name, key.name)
      @s3_interface.put_acl(to_bucket.name, key.name, from_acl[:object])
      break
    rescue Exception => e
      puts "problem, trying again..."
      sleep 1
    end
  end
end