rubypond-s3backup-manager 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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