There is a small useful ruby script to backup your MySQL databases in small projects, where speed of backup not so important.
Source:
#!/usr/bin/ruby # MySQL Backup Utility # Usage: ./mysql_backup.rb or ruby mysql_backup.rb $backup_archive = true # gzip files after processing $backup_dir = "/home/storage/backup/" # output directory $backup_template = "project-%s-%s.sql" # text-%dbname-%timestamp.sql $backup_cmd = "mysqldump -u local_backup --add-drop-table --databases %s > %s" $backup_dblist = [ # list of databases to backup 'main', 'users', 'admin', 'cards' ] def backup_database(database) time = Time.now() time_str = sprintf("%02i-%02i-%04i-%02i%02i%02i",time.day, time.month, time.year, time.hour, time.min, time.sec) filename = sprintf($backup_template,database,time_str) filename = "#{$backup_dir}#{filename}" cmd = sprintf($backup_cmd,database,filename) if system(cmd) then system("gzip --best #{filename}") if $backup_archive end end $backup_dblist.each do |db| puts "Processing database... #{db}" backup_database(db) end
Paste: http://pastie.org/341839