From 3b546462454ec1412f024eccd8302ac978f2834b Mon Sep 17 00:00:00 2001 From: r888888888 Date: Wed, 15 Jul 2015 18:07:20 -0700 Subject: [PATCH] fix s3 scripts --- app/models/amazon_backup.rb | 10 +++++++--- script/donmai/backup_db_to_s3 | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/models/amazon_backup.rb b/app/models/amazon_backup.rb index 3dc76725a..913242032 100644 --- a/app/models/amazon_backup.rb +++ b/app/models/amazon_backup.rb @@ -1,4 +1,4 @@ -require 'base64' +rerequire 'base64' require 'digest/md5' class AmazonBackup < ActiveRecord::Base @@ -15,12 +15,16 @@ class AmazonBackup < ActiveRecord::Base def self.execute last_id = AmazonBackup.last_id credentials = Aws::Credentials.new(Danbooru.config.amazon_s3_access_key_id, Danbooru.config.amazon_s3_secret_access_key) - client = Aws::S3::Client.new(region: "us-west-2", credentials: credentials) + Aws.config.update({ + region: "us-east-1", + credentials: credentials + }) + client = Aws::S3::Client.new bucket = Danbooru.config.amazon_s3_bucket_name Post.where("id > ?", last_id).limit(1000).order("id").each do |post| if File.exists?(post.file_path) - base64_md5 = Base64.encode64(Digest::MD5.digest(File.read(post.file_path))) + base64_md5 = Digest::MD5.base64digest(File.read(post.file_path)) key = File.basename(post.file_path) body = open(post.file_path, "rb") client.put_object(bucket: bucket, key: key, body: body, content_md5: base64_md5) diff --git a/script/donmai/backup_db_to_s3 b/script/donmai/backup_db_to_s3 index e79a2bd96..17ff93af1 100755 --- a/script/donmai/backup_db_to_s3 +++ b/script/donmai/backup_db_to_s3 @@ -19,8 +19,12 @@ end access_key = open("#{home}/.s3/access_key").read.strip secret_access_key = open("#{home}/.s3/secret_access_key").read.strip -credentials = Aws::Credentials.new(access_key, secret_access_key) -client = Aws::S3::Client.new(region: "us-west-2", credentials: credentials) +credentials = Aws::Credentials.new(Danbooru.config.amazon_s3_access_key_id, Danbooru.config.amazon_s3_secret_access_key) +Aws.config.update({ + region: "us-east-1", + credentials: credentials +}) +client = Aws::S3::Client.new bucket = "danbooru-backup" current_backups = client.list_objects(buckets: buckets).contents.map {|x| x.key}.select {|x| x =~ /^db-/}.sort.reverse