rubypond-s3backup-manager 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  aws_access_key_id:
2
2
  aws_secret_access_key:
3
3
  encryption_secret:
4
- collection_prefix:
4
+ collection_prefix:
5
+ temp_dir:
@@ -18,16 +18,16 @@ module S3BackupManager
18
18
  end
19
19
 
20
20
  def restore_database_from_file(username, database, directory)
21
- system "chown -R #{username} /tmp/#{database}"
21
+ system "chown -R #{username} #{config[:temp_dir]}/#{database}"
22
22
  user_file = "#{directory}/globals.pgsql"
23
- system "cd /tmp && sudo -u #{username} psql -f #{user_file} >/dev/null 2>&1"
23
+ system "cd #{config[:temp_dir]} && sudo -u #{username} psql -f #{user_file} >/dev/null 2>&1"
24
24
  unless $?.success?
25
25
  puts "Unable to load in the users"
26
26
  exit(1)
27
27
  end
28
28
  dump_file = "#{directory}/#{database}.pgsql"
29
29
  recreate_database!(username, database)
30
- system "cd /tmp && sudo -u #{username} pg_restore --format=t -d #{database} #{dump_file} >/dev/null 2>&1"
30
+ system "cd #{config[:temp_dir]} && sudo -u #{username} pg_restore --format=t -d #{database} #{dump_file} >/dev/null 2>&1"
31
31
  unless $?.success?
32
32
  puts "Unable to restore database. Did you provide a username that has permission?"
33
33
  exit(1)
@@ -36,8 +36,7 @@ module S3BackupManager
36
36
 
37
37
  private
38
38
  def recreate_database!(username, database)
39
- # system "cd /tmp && sudo -u #{username} dropdb #{database}"
40
- system "cd /tmp && sudo -u #{username} createdb --encoding=UNICODE #{database} > /dev/null 2>&1"
39
+ system "cd #{config[:temp_dir]} && sudo -u #{username} createdb --encoding=UNICODE #{database} > /dev/null 2>&1"
41
40
  end
42
41
 
43
42
  end
@@ -19,7 +19,7 @@ module S3BackupManager
19
19
  end
20
20
 
21
21
  def backup(database)
22
- directory = "/tmp/#{database}"
22
+ directory = "#{config[:temp_dir]}/#{database}"
23
23
  files = dump_database_to_file(@options[:username], database, directory)
24
24
  super(files, "databases/#{@options[:adapter]}")
25
25
  files.each do |file|
@@ -29,7 +29,7 @@ module S3BackupManager
29
29
 
30
30
  def restore(database, timestamp)
31
31
  filename = "#{@options[:adapter]}/#{timestamp}/#{database}"
32
- @dumped_filename = "/tmp/#{database}/s3postgresbackup/#{database}"
32
+ @dumped_filename = "#{config[:temp_dir]}/#{database}/s3postgresbackup/#{database}"
33
33
  super(filename, timestamp, "/", "databases")
34
34
  restore_database_from_file(@options[:username], database, @dumped_filename)
35
35
  db_cleanup!
@@ -15,9 +15,9 @@ module S3BackupManager
15
15
  bucket.files.select{|f| f.key.match(%r{^filesystem/})}
16
16
  end
17
17
 
18
- def backup(files, directory = "filesystem")
19
- stored_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S")}/#{File.basename(files.first)}"
20
- encrypted_file = encrypt(pack(files))
18
+ def backup(file, directory = "filesystem")
19
+ stored_file_name = "#{Time.now.strftime("%Y%m%d%H%M%S")}/#{File.basename(file)}"
20
+ encrypted_file = encrypt(pack(file))
21
21
  bucket.store("#{directory}/#{stored_file_name}", open(encrypted_file))
22
22
  cleanup!
23
23
  end
@@ -83,10 +83,10 @@ module S3BackupManager
83
83
  @decrypted_filename
84
84
  end
85
85
 
86
- def pack(files)
87
- @packed_filename = "#{random_string}_#{File.basename(files.first)}.tgz"
86
+ def pack(file)
87
+ @packed_filename = "#{random_string}_#{File.basename(file)}.tgz"
88
88
  tgz = Zlib::GzipWriter.new(File.open(@packed_filename, 'wb'))
89
- Archive::Tar::Minitar.pack(files, tgz, recurse_directories = true)
89
+ Archive::Tar::Minitar.pack(file, tgz, recurse_directories = true)
90
90
  @packed_filename
91
91
  end
92
92
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubypond-s3backup-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Glenn Gillen