Skip to content

Instantly share code, notes, and snippets.

@emad-elsaid
Created March 4, 2014 12:40
Show Gist options
  • Select an option

  • Save emad-elsaid/9345762 to your computer and use it in GitHub Desktop.

Select an option

Save emad-elsaid/9345762 to your computer and use it in GitHub Desktop.

Revisions

  1. emad-elsaid created this gist Mar 4, 2014.
    35 changes: 35 additions & 0 deletions mysql-backup.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,35 @@
    #!/usr/bin/env ruby
    require 'mail'

    mysql_username = 'root'
    mysql_password = '123456'
    mysql_database = 'test'
    system("mysqldump --user=#{mysql_username} --password=#{mysql_password} #{mysql_database} > backup.sql")


    # Credit to :
    # http://stackoverflow.com/questions/12884711/how-to-send-email-via-smtp-with-rubys-mail-gem
    options = {
    :address => "smtp.gmail.com",
    :port => 587,
    :domain => 'xxxxxxxxx@gmail.com',
    :user_name => 'xxxxxxxxx@gmail.com',
    :password => 'xxxxxxxxx',
    :authentication => 'plain',
    :enable_starttls_auto => true
    }

    Mail.defaults do
    delivery_method :smtp, options
    end


    Mail.deliver do
    from options[:user_name]
    to options[:user_name]
    subject "Database #{mysql_database} backup #{Time.new}"
    body "Database #{mysql_database} backup #{Time.new}"
    add_file 'backup.sql'
    end

    File.delete 'backup.sql'