class StellarCoreBackup::Filesystem
Attributes
core_data_dir[R]
Public Class Methods
new(config)
click to toggle source
# File lib/stellar-core-backup/filesystem.rb, line 10 def initialize(config) @config = config @working_dir = StellarCoreBackup::Utils.create_working_dir(@config.get('working_dir')) @core_data_dir = get_core_data_dir(@config.get('core_config')) end
Public Instance Methods
backup()
click to toggle source
# File lib/stellar-core-backup/filesystem.rb, line 17 def backup() create_core_data_tar() end
Private Instance Methods
core_data_readable?()
click to toggle source
# File lib/stellar-core-backup/filesystem.rb, line 37 def core_data_readable?() if File.readable?("#{@core_data_dir}/stellar-core.lock") then puts "info: processing #{@core_data_dir}" return true else puts "error: can not access #{@core_data_dir}" raise ReadError end end
create_core_data_tar()
click to toggle source
Contract nil, StellarCoreBackup::CmdResult
# File lib/stellar-core-backup/filesystem.rb, line 23 def create_core_data_tar() if core_data_readable?() then # create the tar balls puts "info: creating filesystem backup" Dir.chdir(@core_data_dir) StellarCoreBackup::Tar.pack("#{@working_dir}/core-fs.tar", '.') Dir.chdir(@working_dir) end end
get_core_data_dir(config)
click to toggle source
# File lib/stellar-core-backup/filesystem.rb, line 49 def get_core_data_dir(config) File.open(config,'r') do |fd| fd.each_line do |line| if (line[/^BUCKET_DIR_PATH=/]) then # "postgresql://dbname=stellar user=stellar" core_data_dir = /^BUCKET_DIR_PATH="(.*)"$/.match(line).captures[0] return core_data_dir end end end end