Skip to content

Instantly share code, notes, and snippets.

@rainly
Forked from alvin2ye/gist:400946
Created March 23, 2011 10:00
Show Gist options
  • Select an option

  • Save rainly/882882 to your computer and use it in GitHub Desktop.

Select an option

Save rainly/882882 to your computer and use it in GitHub Desktop.
ruby backup mysql
require 'rubygems'
gem 'rubyzip'
require 'zip/zipfilesystem'
require 'zip/zip'
require 'dbi'
ODBC_NAME='dbi:ODBC:visteam'
# ODBC_NAME='dbi:ODBC:mypdm'
USER_NAME='ReadOnly'
# USER_NAME='F14'
USER_PWD=''
def backup_db(dbname)
time_str = Time.now.strftime("%y%m%d%H%M%S")
db = DBI.connect(ODBC_NAME,USER_NAME,USER_PWD)
file_name = "G:/db_backup/#{dbname}_#{time_str}.bak"
db.execute("backup database #{dbname} to disk='#{file_name}'")
db.disconnect
puts "backup doen. start zip"
Zip::ZipFile.open(file_name + ".zip", Zip::ZipFile::CREATE) { |zipfile|
zipfile.add(File.basename(file_name), file_name)
}
puts "done. delete source file"
File.delete(file_name)
end
backup_db("pdm")
backup_db("ultimus_bpm")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment