Sha256: 33867685c1e7058ca9523641dbbf1562c636c919b6f08c2f30fc9e8bf72abd0d
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
#!/usr/bin/env ruby require 'optparse' require 's3grep' require 'aws-sdk-s3' require 'csv' bucket_info = {} aws_s3_client = Aws::S3::Client.new aws_s3_client.list_buckets[:buckets].each do |bucket| name = bucket[:name] s3_file = "s3://#{name}/" info = S3Grep::Directory.new(s3_file, aws_s3_client).info bucket_info[name] = { bucket: info.bucket, creation_date: bucket[:creation_date], total_size: info.total_size, num_files: info.num_files, last_modified: info.last_modified, newest_file: info.newest_file, first_modified: info.first_modified, first_file: info.first_file } end csv_headers = { bucket: 'Bucket', creation_date: 'Creation Date', total_size: 'Total Size', num_files: 'Number of Files', last_modified: 'Last Modified', newest_file: 'Newest File', first_modified: 'First Modified', first_file: 'First File' } file = "AWS-S3-Usage-Report-#{Time.now.strftime('%Y-%m-%dT%H%M%S')}.csv" CSV.open(file, 'w') do |csv| csv << csv_headers.values bucket_info.each_value do |stats| csv << csv_headers.keys.map { |k| stats[k] } end end puts file
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
s3grep-0.1.7 | bin/s3report |