s3_db_assets_backup 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/generators/s3_backup/USAGE +2 -2
- data/generators/s3_backup/s3_backup_generator.rb +2 -2
- data/generators/s3_backup/templates/assets_backup.rake +6 -6
- data/generators/s3_backup/templates/db_backup.rake +6 -6
- data/generators/s3_backup/templates/load_s3_backup_config.rb +6 -0
- data/generators/s3_backup/templates/{assets_backup_config.yml → s3_backup_config.yml} +0 -0
- data/s3_db_assets_backup.gemspec +1 -1
- data/test/s3_db_assets_backup_test.rb +3 -3
- metadata +4 -4
- data/generators/s3_backup/templates/load_assets_backup_config.rb +0 -6
data/README.rdoc
CHANGED
data/generators/s3_backup/USAGE
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
class S3BackupGenerator < Rails::Generator::Base
|
2
2
|
def manifest
|
3
3
|
record do |m|
|
4
|
-
m.file "
|
5
|
-
m.file "
|
4
|
+
m.file "s3_backup_config.yml", "config/s3_backup_config.yml"
|
5
|
+
m.file "load_s3_backup_config.rb", "config/initializers/load_s3_backup_config.rb"
|
6
6
|
m.file "assets_backup.rake", "lib/tasks/assets_backup.rake"
|
7
7
|
m.file "db_backup.rake", "lib/tasks/db_backup.rake"
|
8
8
|
end
|
@@ -5,8 +5,8 @@ require 'aws/s3'
|
|
5
5
|
namespace :assets do
|
6
6
|
desc "Backup everything in the public folder."
|
7
7
|
task :backup => [:environment] do
|
8
|
-
AWS::S3::Base.establish_connection!(:access_key_id =>
|
9
|
-
BUCKET =
|
8
|
+
AWS::S3::Base.establish_connection!(:access_key_id => S3_CONFIG['access_key_id'], :secret_access_key => S3_CONFIG['secret_access_key'])
|
9
|
+
BUCKET = S3_CONFIG['bucket']
|
10
10
|
|
11
11
|
datestamp = Time.now.strftime("%Y-%m-%d-%H-%M-%S")
|
12
12
|
base_path = ENV["RAILS_ROOT"] || "."
|
@@ -19,7 +19,7 @@ namespace :assets do
|
|
19
19
|
|
20
20
|
bucket = AWS::S3::Bucket.find(BUCKET)
|
21
21
|
all_backups = bucket.objects.select { |f| f.key.match(/assets/) }.sort { |a,b| a.key <=> b.key }.reverse
|
22
|
-
max_backups =
|
22
|
+
max_backups = S3_CONFIG['assets_backups_to_keep'].to_i || 28
|
23
23
|
unwanted_backups = all_backups[max_backups..-1] || []
|
24
24
|
for unwanted_backup in unwanted_backups
|
25
25
|
unwanted_backup.delete
|
@@ -33,11 +33,11 @@ namespace :assets do
|
|
33
33
|
desc "Restore the public folder from an available backup."
|
34
34
|
task :restore => [:environment] do
|
35
35
|
base_path = ENV["RAILS_ROOT"] || "."
|
36
|
-
AWS::S3::Base.establish_connection!(:access_key_id =>
|
37
|
-
bucket_name =
|
36
|
+
AWS::S3::Base.establish_connection!(:access_key_id => S3_CONFIG['access_key_id'], :secret_access_key => S3_CONFIG['secret_access_key'])
|
37
|
+
bucket_name = S3_CONFIG['bucket']
|
38
38
|
backups = AWS::S3::Bucket.objects(bucket_name)
|
39
39
|
if backups.size == 0
|
40
|
-
puts "no backups available, check your settings in config/
|
40
|
+
puts "no backups available, check your settings in config/s3_backup_config.yml"
|
41
41
|
else
|
42
42
|
puts "#{backups.size} backups are available..."
|
43
43
|
counter = 0
|
@@ -5,8 +5,8 @@ require 'aws/s3'
|
|
5
5
|
namespace :db do
|
6
6
|
desc "Backup the database to a file. Options: RAILS_ENV=production"
|
7
7
|
task :backup => [:environment] do
|
8
|
-
AWS::S3::Base.establish_connection!(:access_key_id =>
|
9
|
-
BUCKET =
|
8
|
+
AWS::S3::Base.establish_connection!(:access_key_id => S3_CONFIG['access_key_id'], :secret_access_key => S3_CONFIG['secret_access_key'])
|
9
|
+
BUCKET = S3_CONFIG['bucket']
|
10
10
|
|
11
11
|
datestamp = Time.now.strftime("%Y-%m-%d-%H-%M-%S")
|
12
12
|
base_path = ENV["RAILS_ROOT"] || "."
|
@@ -20,7 +20,7 @@ namespace :db do
|
|
20
20
|
|
21
21
|
bucket = AWS::S3::Bucket.find(BUCKET)
|
22
22
|
all_backups = bucket.objects.select { |f| f.key.match(/dump/) }.sort { |a,b| a.key <=> b.key }.reverse
|
23
|
-
max_backups =
|
23
|
+
max_backups = S3_CONFIG['database_backups_to_keep'].to_i || 28
|
24
24
|
unwanted_backups = all_backups[max_backups..-1] || []
|
25
25
|
for unwanted_backup in unwanted_backups
|
26
26
|
unwanted_backup.delete
|
@@ -35,11 +35,11 @@ namespace :db do
|
|
35
35
|
task :restore => [:environment] do
|
36
36
|
base_path = ENV["RAILS_ROOT"] || "."
|
37
37
|
db_config = ActiveRecord::Base.configurations[RAILS_ENV]
|
38
|
-
AWS::S3::Base.establish_connection!(:access_key_id =>
|
39
|
-
bucket_name =
|
38
|
+
AWS::S3::Base.establish_connection!(:access_key_id => S3_CONFIG['access_key_id'], :secret_access_key => S3_CONFIG['secret_access_key'])
|
39
|
+
bucket_name = S3_CONFIG['bucket']
|
40
40
|
backups = AWS::S3::Bucket.objects(bucket_name)
|
41
41
|
if backups.size == 0
|
42
|
-
puts "no backups available, check your settings in config/
|
42
|
+
puts "no backups available, check your settings in config/s3_backup_config.yml"
|
43
43
|
else
|
44
44
|
puts "#{backups.size} backups are available..."
|
45
45
|
counter = 0
|
File without changes
|
data/s3_db_assets_backup.gemspec
CHANGED
@@ -9,7 +9,7 @@ PKG_FILES = FileList[
|
|
9
9
|
|
10
10
|
spec = Gem::Specification.new do |s|
|
11
11
|
s.name = "s3_db_assets_backup"
|
12
|
-
s.version = "0.0.
|
12
|
+
s.version = "0.0.6"
|
13
13
|
s.author = "Chris Barnes"
|
14
14
|
s.email = "randomutterings@gmail.com"
|
15
15
|
s.homepage = "http://www.randomutterings.com/projects/s3_db_assets_backup"
|
@@ -8,7 +8,7 @@ class S3DbAssetsBackupTest < Test::Unit::TestCase
|
|
8
8
|
# creates all dirs down to initializers and tasks
|
9
9
|
FileUtils.mkdir_p(initializers_dir)
|
10
10
|
FileUtils.mkdir_p(tasks_dir)
|
11
|
-
Rails::Generator::Scripts::Generate.new.run(["
|
11
|
+
Rails::Generator::Scripts::Generate.new.run(["s3_backup"], :destination => fake_rails_root)
|
12
12
|
end
|
13
13
|
|
14
14
|
def teardown
|
@@ -16,11 +16,11 @@ class S3DbAssetsBackupTest < Test::Unit::TestCase
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_generates_backup_config_yaml_file
|
19
|
-
assert_generated_file("config/
|
19
|
+
assert_generated_file("config/s3_backup_config.yml")
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_generates_backup_config_initializer
|
23
|
-
assert_generated_file("config/initializers/
|
23
|
+
assert_generated_file("config/initializers/load_s3_backup_config.rb")
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_generates_assets_backup_rake_task
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 6
|
9
|
+
version: 0.0.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Chris Barnes
|
@@ -33,9 +33,9 @@ files:
|
|
33
33
|
- s3_db_assets_backup.gemspec
|
34
34
|
- generators/s3_backup/s3_backup_generator.rb
|
35
35
|
- generators/s3_backup/templates/assets_backup.rake
|
36
|
-
- generators/s3_backup/templates/assets_backup_config.yml
|
37
36
|
- generators/s3_backup/templates/db_backup.rake
|
38
|
-
- generators/s3_backup/templates/
|
37
|
+
- generators/s3_backup/templates/load_s3_backup_config.rb
|
38
|
+
- generators/s3_backup/templates/s3_backup_config.yml
|
39
39
|
- generators/s3_backup/USAGE
|
40
40
|
- lib/s3_db_assets_backup.rb
|
41
41
|
- test/s3_db_assets_backup_test.rb
|