class Toolshed::Databases::Mysql::Backup
Attributes
host[R]
name[R]
password[R]
path[R]
username[R]
wait_time[R]
Public Class Methods
new(options = nil)
click to toggle source
# File lib/toolshed/databases/mysql/backup.rb, line 14 def initialize(options = nil) options ||= {} @host = options[:host] @name = options[:name] @path = options[:path] @password = options[:password] @username = options[:username] @wait_time = options[:wait_time] || 120 end
Public Instance Methods
create_path()
click to toggle source
# File lib/toolshed/databases/mysql/backup.rb, line 24 def create_path FileUtils.mkdir_p(File.dirname(path)) end
execute()
click to toggle source
# File lib/toolshed/databases/mysql/backup.rb, line 28 def execute raise TypeError, "Wait time passed in is not a number #{wait_time}" unless wait_time.is_a?(Fixnum) Toolshed.logger.info "Starting execution of mysqldump -h #{host} -u #{username} #{hidden_password_param} #{name} > #{path}." create_path results = Toolshed::Base.wait_for_command("mysqldump -h #{host} -u #{username} #{password_param} #{name} > #{path}", wait_time) unless results[:stderr].is_a?(NilClass) || results[:stderr].empty? error_message = results[:stderr].join(' ') Toolshed.logger.fatal error_message raise Toolshed::PermissionsException, error_message end Toolshed.logger.info results[:stdout].join(' ') unless results[:stdout].is_a?(NilClass) Toolshed.logger.info 'mysqldump has completed.' end
password_param()
click to toggle source
# File lib/toolshed/databases/mysql/backup.rb, line 42 def password_param password.nil? || password.empty? ? '' : "-p#{password_from_config(password)}" end