Guest User

Untitled

a guest
Mar 7th, 2018
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. begin
  2. require "mysql"
  3. require 'ftools'
  4. rescue LoadError
  5. require "rubygems"
  6. require "mysql"
  7. require 'ftools'
  8. end
  9.  
  10. host = "localhost"
  11. login = "root"
  12. password = ""
  13.  
  14. backup_dir = "/Users/zealot/sql_backups"
  15. date_str = Time.now.strftime("%Y-%m-%d-%H:%M")
  16.  
  17. backup_path = "#{backup_dir}#{File::Separator}#{date_str}"
  18.  
  19. File.makedirs(backup_path.to_s) unless File.exists?(backup_path)
  20.  
  21. begin
  22. # connect to the MySQL server
  23. dbh = Mysql.real_connect(host, login, password)
  24. dbh.query("show databases;").each do |db_name|
  25. db_name = db_name.to_s
  26. if db_name.to_s != "test" && db_name.to_s != "information_schema" && db_name.to_s != "mysql"
  27. printf("Dumping #{db_name}...")
  28. STDOUT.flush
  29. `mysqldump --user=#{login} --password=#{password} --host=#{host} -r #{backup_path}#{File::Separator}#{db_name}.sql #{db_name}`
  30. printf("done\n")
  31. end
  32. end
  33. # get server version string and display it
  34. rescue Mysql::Error => e
  35. puts "Error code: #{e.errno}"
  36. puts "Error message: #{e.error}"
  37. puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
  38. ensure
  39. # disconnect from server
  40. dbh.close if dbh
  41. end
Add Comment
Please, Sign In to add comment