Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 13th, 2012  |  syntax: None  |  size: 1.06 KB  |  hits: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. def backup
  2.   date = Time.new.strftime("%Y%m%d")
  3.   oracle_drive = ARGV[0]
  4.   backup_drive = "#{ARGV[1]}\\CW\\"
  5.  
  6.   File.exists?("#{oracle_drive}\\oracle\\ORADB\\BIN\\exp.exe") rescue puts "Invalid oracle drive"; Process.exit!(2)
  7.   File.exists?("#{backup_drive}") rescue puts "Invalid backup drive"; Process.exit!(2)
  8.  
  9.   %x["#{oracle_drive}\\oracle\\ORADB\\BIN\\exp.exe userid=FOLLETT/FOLLETT
  10.   file=#{backup_drive}#{date}.dmp grants=y owner=follett statistics=none log=#{backup_drive}#{date}.log"]
  11.  
  12.   if $?.to_i = 0
  13.     files = Dir.entries("#{backup_drive}")[2..-1]
  14.     while files.length >= 20
  15.       deleted_dmp = "#{backup_drive}\\#{files[0]}"
  16.       deleted_log = "#{backup_drive}\\#{files[1]}"
  17.       File.delete(deleted_dmp)
  18.       File.delete(deleted_log)
  19.       files = files[2..-1]
  20.     end
  21.   else
  22.     puts "ERROR"
  23.     Process.exit!(2)
  24.   end
  25. end
  26.  
  27. def usage
  28.   puts "Correct usage is: backup-cw.rb oracle_drive backup_drive"
  29.   puts "Example: backup-cw.rb C: E:"
  30. end
  31.  
  32. if __FILE__ == $0  
  33.   if ARGV.length != 2
  34.     usage
  35.   else
  36.     backup
  37.   end
  38. end