Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- #
- # A Simple MySQL Back-up Script
- # Copyright 2007, Jason Johnson (jason@jasonjohnson.org)
- #
- require 'time'
- require 'net/ftp'
- time = Time.new()
- data = {
- :host => 'localhost',
- :user => 'root',
- :pass => '',
- :work => '/tmp/',
- :dump => '/usr/local/mysql/bin/mysqldump',
- :databases => [
- 'mysql'
- ]
- }
- remote = {
- :host => 'example.com',
- :user => 'anon',
- :pass => '',
- :root => ''
- }
- begin
- data[:databases].each do |db|
- `#{data[:dump]} -h#{data[:host]} -u#{data[:user]} -p#{data[:pass]} #{db} > #{data[:work]}#{db}.sql`
- end
- rescue Exception
- puts "Check 'data' settings."
- end
- begin
- Net::FTP.open(remote[:host]) do |ftp|
- ftp.login(remote[:user], remote[:pass])
- ftp.chdir(remote[:root])
- data[:databases].each do |db|
- ftp.puttextfile("#{data[:work]}#{db}.sql", "#{db}-#{time.day}-#{time.month}-#{time.year}.sql")
- end
- end
- rescue Exception
- puts "Check 'remote' settings."
- end
Add Comment
Please, Sign In to add comment