Guest User

Untitled

a guest
Mar 1st, 2018
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. #
  3. # A Simple MySQL Back-up Script
  4. # Copyright 2007, Jason Johnson (jason@jasonjohnson.org)
  5. #
  6.  
  7. require 'time'
  8. require 'net/ftp'
  9.  
  10. time = Time.new()
  11.  
  12. data = {
  13. :host => 'localhost',
  14. :user => 'root',
  15. :pass => '',
  16. :work => '/tmp/',
  17. :dump => '/usr/local/mysql/bin/mysqldump',
  18. :databases => [
  19. 'mysql'
  20. ]
  21. }
  22.  
  23. remote = {
  24. :host => 'example.com',
  25. :user => 'anon',
  26. :pass => '',
  27. :root => ''
  28. }
  29.  
  30. begin
  31. data[:databases].each do |db|
  32. `#{data[:dump]} -h#{data[:host]} -u#{data[:user]} -p#{data[:pass]} #{db} > #{data[:work]}#{db}.sql`
  33. end
  34. rescue Exception
  35. puts "Check 'data' settings."
  36. end
  37.  
  38. begin
  39. Net::FTP.open(remote[:host]) do |ftp|
  40. ftp.login(remote[:user], remote[:pass])
  41. ftp.chdir(remote[:root])
  42.  
  43. data[:databases].each do |db|
  44. ftp.puttextfile("#{data[:work]}#{db}.sql", "#{db}-#{time.day}-#{time.month}-#{time.year}.sql")
  45. end
  46. end
  47. rescue Exception
  48. puts "Check 'remote' settings."
  49. end
Add Comment
Please, Sign In to add comment