Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- begin
- require "mysql"
- require 'ftools'
- rescue LoadError
- require "rubygems"
- require "mysql"
- require 'ftools'
- end
- host = "localhost"
- login = "root"
- password = ""
- backup_dir = "/Users/zealot/sql_backups"
- date_str = Time.now.strftime("%Y-%m-%d-%H:%M")
- backup_path = "#{backup_dir}#{File::Separator}#{date_str}"
- File.makedirs(backup_path.to_s) unless File.exists?(backup_path)
- begin
- # connect to the MySQL server
- dbh = Mysql.real_connect(host, login, password)
- dbh.query("show databases;").each do |db_name|
- db_name = db_name.to_s
- if db_name.to_s != "test" && db_name.to_s != "information_schema" && db_name.to_s != "mysql"
- printf("Dumping #{db_name}...")
- STDOUT.flush
- `mysqldump --user=#{login} --password=#{password} --host=#{host} -r #{backup_path}#{File::Separator}#{db_name}.sql #{db_name}`
- printf("done\n")
- end
- end
- # get server version string and display it
- rescue Mysql::Error => e
- puts "Error code: #{e.errno}"
- puts "Error message: #{e.error}"
- puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
- ensure
- # disconnect from server
- dbh.close if dbh
- end
Add Comment
Please, Sign In to add comment