Class: DatabaseBackupJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- DatabaseBackupJob
- Defined in:
- /var/apps/qpixel/app/jobs/database_backup_job.rb
Instance Method Summary collapse
Methods inherited from ApplicationJob
Constructor Details
This class inherits a constructor from ApplicationJob
Instance Method Details
#perform(*_args) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File '/var/apps/qpixel/app/jobs/database_backup_job.rb', line 4 def perform(*_args) storage = backup_storage return unless backup_storage = `date +%s`.strip backup_location = AppConfig.server_settings['db_backups_path'] filename = "#{backup_location}/qpixel-#{}.sql" db_creds = Rails.configuration.database_configuration[Rails.env] mysqldump_command = build_command 'mysqldump', '-h', db_creds['host'], "--port=#{db_creds['port']}", '-u', db_creds['username'], "-p#{db_creds['password']}", no_tablespaces_flag, db_creds['database'], '>', filename logger.debug 'Running system command:' logger.debug mysqldump_command system mysqldump_command file_name_only = "qpixel-#{}.sql" storage.upload(file_name_only, File.open(filename), filename: file_name_only, content_type: 'application/sql') end |