From 94135827ce390e42637c9094bf049d08a44ddbf4 Mon Sep 17 00:00:00 2001
From: maxwell <maxwell@joindiaspora.com>
Date: Wed, 2 Feb 2011 14:54:55 -0800
Subject: [PATCH] add mysql dump cron and task

---
 .../common/files/default/backupcron.txt       |  1 +
 lib/tasks/backup.rake                         | 25 ++++++++++---------
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/chef/cookbooks/common/files/default/backupcron.txt b/chef/cookbooks/common/files/default/backupcron.txt
index 5b869ae2b0..3235ea1688 100644
--- a/chef/cookbooks/common/files/default/backupcron.txt
+++ b/chef/cookbooks/common/files/default/backupcron.txt
@@ -1,3 +1,4 @@
 #statistics
 42 15 * * * cd /usr/local/app/diaspora && exec /usr/local/bin/ruby /usr/local/bin/bundle exec rake --trace statistics:users_splunk &> /usr/local/app/diaspora/log/stats.log
 42 15 * * * cd /usr/local/app/diaspora && exec /usr/local/bin/ruby /usr/local/bin/bundle exec rake --trace statistics:content_splunk &> /usr/local/app/diaspora/log/stats.log
+0 * * * * cd /usr/local/app/diaspora && exec /usr/local/bin/ruby /usr/local/bin/bundle exec rake --trace backup:mysql 
diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake
index f63302f469..b9a856655a 100644
--- a/lib/tasks/backup.rake
+++ b/lib/tasks/backup.rake
@@ -1,31 +1,32 @@
 namespace :backup do
-  desc "Backup Mongo"
+  desc "Backup Mysql"
   require File.join(Rails.root, 'config', 'initializers', '_load_app_config.rb')
   require 'cloudfiles'
 
-  task :mongo do
-    puts("event=backup status=start type=mongo")
+  task :mysql do
+    puts("event=backup status=start type=mysql")
 
     if AppConfig[:cloudfiles_username] && AppConfig[:cloudfiles_api_key]
       puts "Logging into Cloud Files"
 
       cf = CloudFiles::Connection.new(:username => AppConfig[:cloudfiles_username], :api_key => AppConfig[:cloudfiles_api_key])
-      mongo_container = cf.container("Mongo Backup")
+      mysql_container = cf.container("MySQL Backup")
 
-      puts "Dumping Mongo"
-      `mongodump -o /tmp/backup/mongo`
+      puts "Dumping Mysql"
+      `mkdir -p /tmp/backup/mysql`
+      `mysqldump diaspora_production >> /tmp/backup/mysql/backup.txt `
 
-      tar_name = "mongo_#{Time.now.to_i}.tar"
-      `tar cfP /tmp/backup/#{tar_name} /tmp/backup/mongo`
+      tar_name = "mysql_#{Time.now.to_i}.tar"
+      `tar cfP /tmp/backup/#{tar_name} /tmp/backup/mysql`
 
-      file = mongo_container.create_object(tar_name)
+      file = mysql_container.create_object(tar_name)
 
       if file.write File.open("/tmp/backup/" + tar_name)
-        puts("event=backup status=success type=mongo")
+        puts("event=backup status=success type=mysql")
         `rm /tmp/backup/#{tar_name}`
-        `rm -rf /tmp/backup/mongo/`
+        `rm -rf /tmp/backup/mysql/`
       else
-        puts("event=backup status=failure type=mongo")
+        puts("event=backup status=failure type=mysql")
       end
     else
       puts "Cloudfiles username and api key needed"
-- 
GitLab