Taking a Backup for your MySQL DB and send it via email using Ruby
this script i needed for my servers, as i don't have cpanel or any controlpanel i have to manage my servers myself, so i created this script for backing up my databases.
#!/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'
Written by Emad Elsaid
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ruby
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#