class Bosh::Director::Jobs::ScheduledBackup
Attributes
backup_job[R]
Public Class Methods
job_type()
click to toggle source
# File lib/bosh/director/jobs/scheduled_backup.rb, line 8 def self.job_type :scheduled_backup end
new(options={})
click to toggle source
# File lib/bosh/director/jobs/scheduled_backup.rb, line 12 def initialize(options={}) @backup_job = options.fetch(:backup_job) { Backup.new(backup_file) } @backup_destination = options.fetch(:backup_destination) { App.instance.blobstores.backup_destination } end
Public Instance Methods
perform()
click to toggle source
# File lib/bosh/director/jobs/scheduled_backup.rb, line 17 def perform @backup_job.perform blobstore_path = "backup-#{Time.now.utc.iso8601}.tgz" File.open(@backup_job.backup_file) do |f| @backup_destination.create(f, blobstore_path) end "Stored '#{blobstore_path}' in backup blobstore" ensure FileUtils.rm_f(@backup_job.backup_file) end
Private Instance Methods
backup_file()
click to toggle source
# File lib/bosh/director/jobs/scheduled_backup.rb, line 33 def backup_file File.join(Dir.tmpdir, "backup-#{task_id}.tgz") end