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