Sha256: a7c4139bdac569d1416b8fbcbc5651222a9c5642b46b40a9e441fcbbab694804
Contents?: true
Size: 1.78 KB
Versions: 4
Compression:
Stored size: 1.78 KB
Contents
module Backup module Adapters class Archive < Backup::Adapters::Base attr_accessor :archived_file, :compressed_file, :encrypted_file, :user, :password, :database # Initializes the Backup Process def initialize(trigger, procedure) super load_settings targz encrypt store record remove_tmp_files end private # Archives and Compresses all files def targz files = procedure.get_adapter_configuration.attributes['files'] if files.is_a?(Array) %x{ tar -czf #{File.join(tmp_path, compressed_file)} #{files.map{|f| f.gsub(' ', '\ ')}.join(' ')} } elsif files.is_a?(String) %x{ tar -czf #{File.join(tmp_path, compressed_file)} #{files.gsub(' ', '\ ')} } end end # Encrypts the Archive def encrypt if encrypt_with_password.is_a?(String) %x{ openssl enc -des-cbc -in #{File.join(tmp_path, compressed_file)} -out #{File.join(tmp_path, encrypted_file)} -k #{encrypt_with_password} } self.final_file = encrypted_file end end # Loads the initial settings def load_settings self.user = procedure.get_adapter_configuration.attributes['user'] self.password = procedure.get_adapter_configuration.attributes['password'] self.database = procedure.get_adapter_configuration.attributes['database'] self.archived_file = "#{timestamp}.archive.#{trigger.gsub(' ', '-')}.tar" self.compressed_file = "#{archived_file}.gz" self.encrypted_file = "#{compressed_file}.enc" self.final_file = compressed_file end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
backup-2.1.2 | lib/backup/adapters/archive.rb |
backup-2.1.1 | lib/backup/adapters/archive.rb |
backup-2.1.0 | lib/backup/adapters/archive.rb |
backup-2.0.0 | lib/backup/adapters/archive.rb |