Class: BackupWorker

Inherits:
Object
  • Object
show all
Includes:
EM::Deferrable
Defined in:
lib/taskclient/worker/backup_worker.rb

Instance Method Summary collapse

Instance Method Details

#doObject



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 'lib/taskclient/worker/backup_worker.rb', line 6

def do
  db, bk = TaskClient.config(["database.datafile","database.bkpfile"])
  bkp7z = "#{bk}.7z"
  us, pw, ft, fu, fw = TaskClient.config(['database.user','database.password','ftp.server','ftp.user','ftp.password'])
  backup_cmd = "gbak -B #{db} #{bk} -USER #{us} -PAS #{pw}"
  compress_cmd = "7z a #{bkp7z} #{bkp}"
  if File.exists? bkp
    File.delete bkp
  end
  system backup_cmd
  system compress_cmd
  puts "Starting file transfer...."
  Net::FTP.open(ft) do |ftp|
     ftp.(fu,fw)
     ftp.passive = true
     ftp.putbinaryfile(bkp7z)
     ftp.quit
  end
  puts "delete local backup file..."
  File.delete bkp
  File.delete bkp7z
  puts 'DONE'
  set_deferred_status :succeeded
end