summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Pawlowski <julian.pawlowski@gmail.com>2013-03-25 17:09:59 +0100
committerJulian Pawlowski <julian.pawlowski@gmail.com>2013-03-25 17:09:59 +0100
commit15602d52b598caecbb1daabe621e1d2e02df6be7 (patch)
treeb0c24b1322799c5a7002bfb9f9f5579ab62acd0f
parentc203c3efaae924f420862ad8a243dc18d2c9e154 (diff)
add ionice for backup jobs
-rw-r--r--app/models/backup_job.rb2
-rw-r--r--lib/tasks/backup.rake16
2 files changed, 9 insertions, 9 deletions
diff --git a/app/models/backup_job.rb b/app/models/backup_job.rb
index 9cb4f53..e2f2e6c 100644
--- a/app/models/backup_job.rb
+++ b/app/models/backup_job.rb
@@ -37,7 +37,7 @@ class BackupJob < ActiveRecord::Base
if tmp_backup_directory.blank?
self.state = 'failed'
else
- system "cd #{backup_directory} && nice -n 19 sudo /bin/tar czf #{backup_name_prefix}#{File.basename(tmp_backup_directory)}.tar.gz #{File.basename(tmp_backup_directory)}"
+ system "cd #{backup_directory} && nice -n 19 ionice -c2 -n7 sudo /bin/tar czf #{backup_name_prefix}#{File.basename(tmp_backup_directory)}.tar.gz #{File.basename(tmp_backup_directory)}"
require 'fileutils'
FileUtils.rm_rf tmp_backup_directory
file = File::Stat.new("#{backup_directory}/#{backup_name_prefix}#{File.basename(tmp_backup_directory)}.tar.gz")
diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake
index 83bcfd3..0dbadad 100644
--- a/lib/tasks/backup.rake
+++ b/lib/tasks/backup.rake
@@ -25,32 +25,32 @@ namespace :backup do
tmp_dir = "/tmp/gs5_restore_directory"
FileUtils.rm_rf tmp_dir
FileUtils.mkdir_p tmp_dir
- system "cd #{tmp_dir} && nice -n 19 sudo /bin/tar xzf #{restore_job.backup_file.path}"
+ system "cd #{tmp_dir} && nice -n 19 ionice -c2 -n7 sudo /bin/tar xzf #{restore_job.backup_file.path}"
restore_directory = Dir.glob("/tmp/gs5_restore_directory/*").first
- system "cd #{restore_directory} && nice -n 19 sudo /bin/tar xf GS5.tar && rm GS5.tar"
+ system "cd #{restore_directory} && nice -n 19 ionice -c2 -n7 sudo /bin/tar xf GS5.tar && rm GS5.tar"
# Restore faxes
#
if File.exists?("#{restore_directory}/GS5/archives/faxes.tar.gz")
- system "cd / && nice -n 19 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz"
+ system "cd / && nice -n 19 ionice -c2 -n7 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz"
end
# Restore voicemails
#
if File.exists?("#{restore_directory}/GS5/archives/voicemails.tar.gz")
- system "cd / && nice -n 19 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz"
+ system "cd / && nice -n 19 ionice -c2 -n7 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz"
end
# Restore recordings
#
if File.exists?("#{restore_directory}/GS5/archives/recordings.tar.gz")
- system "cd / && nice -n 19 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/recordings.tar.gz"
+ system "cd / && nice -n 19 ionice -c2 -n7 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/recordings.tar.gz"
end
# Restore avatars
#
if File.exists?("#{restore_directory}/GS5/archives/avatars.tar.gz")
- system "cd / && nice -n 19 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/avatars.tar.gz"
+ system "cd / && nice -n 19 ionice -c2 -n7 sudo /bin/tar xzfP #{restore_directory}/GS5/archives/avatars.tar.gz"
end
# Delete the archive tar.gz to get more air to breathe
@@ -65,11 +65,11 @@ namespace :backup do
db_user = system_odbc_configuration['gemeinschaft']['USER']
db_password = system_odbc_configuration['gemeinschaft']['PASSWORD']
- system "nice -n 19 gunzip < #{restore_directory}/GS5/databases/MySQL/gemeinschaft.sql.gz | nice -n 19 mysql -u #{db_user} -p#{db_password} #{database}"
+ system "nice -n 19 ionice -c2 -n7 gunzip < #{restore_directory}/GS5/databases/MySQL/gemeinschaft.sql.gz | nice -n 19 ionice -c2 -n7 mysql -u #{db_user} -p#{db_password} #{database}"
FileUtils.rm_rf tmp_dir
- system "cd /opt/gemeinschaft && nice -n 19 rake db:migrate"
+ system "cd /opt/gemeinschaft && nice -n 19 ionice -c2 -n7 rake db:migrate"
# Rebuild the thumbnails
#