From 4f89e10f2aaeeeb2696f8e456149e8f66e7bb02b Mon Sep 17 00:00:00 2001 From: Julian Pawlowski Date: Mon, 18 Feb 2013 11:19:06 +0100 Subject: change fax spool directory --- lib/tasks/send_fax_notifications.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/tasks') diff --git a/lib/tasks/send_fax_notifications.rake b/lib/tasks/send_fax_notifications.rake index 2ac74c8..b456466 100644 --- a/lib/tasks/send_fax_notifications.rake +++ b/lib/tasks/send_fax_notifications.rake @@ -6,7 +6,7 @@ task :send_fax_notifications => :environment do FaxDocument.where(:state => 'received').each do |fax_document| TIFF_FUFFIX = ".tiff" PDF_SUFFIX = ".pdf" - TMP_DIR = "/tmp/" + TMP_DIR = "/var/spool/freeswitch/" tiff_file = File.basename(fax_document.tiff.to_s) -- cgit v1.2.3 From 18d827073a3612c88185523af15c7314e465dd63 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Tue, 26 Feb 2013 13:05:57 +0100 Subject: Added restore task. --- lib/tasks/backup.rake | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index c285e1f..fec3956 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -3,4 +3,39 @@ namespace :backup do task :daily_backup => :environment do # This would be the daily backup. end + + desc "Restore the system" + task :restore => :environment do + # This task takes the first RestoreJob to restore the system. + # + if RestoreJob.where(:state => 'new').any? + restore_job = RestoreJob.where(:state => 'new').order(:created_at).last + tmp_dir = "/tmp/gs5_restore_directory" + FileUtils.rm_rf tmp_dir + FileUtils.mkdir_p tmp_dir + system "cd #{tmp_dir} && tar xzf #{restore_job.backup_file.path}" + system "cd /tmp/gs5_restore_directory/*/ && tar xf GS5.tar && rm GS5.tar" + + # Restore faxes + # + system "cd / && tar xzfP /tmp/gs5_restore_directory/*/GS5/archives/faxes.tar.gz" + + # Restore voicemails + # + # system "cd / && tar xzfP /tmp/gs5_restore_directory/*/GS5/archives/voicemails.tar.gz" + + # Restore the database + # + system_odbc_ini_file = '/var/lib/freeswitch/.odbc.ini' + system_odbc_configuration = IniFile.load(system_odbc_ini_file) + database = system_odbc_configuration['gemeinschaft']['DATABASE'] + db_user = system_odbc_configuration['gemeinschaft']['USER'] + db_password = system_odbc_configuration['gemeinschaft']['PASSWORD'] + + system "gunzip < /tmp/gs5_restore_directory/*/GS5/databases/MySQL/gemeinschaft.sql.gz | mysql -u #{db_user} -p#{db_password} #{database}" + + FileUtils.rm_rf tmp_dir + end + end + end \ No newline at end of file -- cgit v1.2.3 From 36919fb419a40688daa97e36734f579488cb56e2 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Tue, 26 Feb 2013 14:06:27 +0100 Subject: Restore and Backup fixes. --- lib/tasks/backup.rake | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index fec3956..d12bf5e 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -35,6 +35,8 @@ namespace :backup do system "gunzip < /tmp/gs5_restore_directory/*/GS5/databases/MySQL/gemeinschaft.sql.gz | mysql -u #{db_user} -p#{db_password} #{database}" FileUtils.rm_rf tmp_dir + + system "cd /opt/gemeinschaft && rake db:migrate" end end -- cgit v1.2.3 From 45e7bcdbf5222ea68de2ec8e6542b079c36758cf Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Tue, 26 Feb 2013 18:04:58 +0100 Subject: Small fix. --- lib/tasks/backup.rake | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index d12bf5e..913d7d3 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -14,15 +14,16 @@ namespace :backup do FileUtils.rm_rf tmp_dir FileUtils.mkdir_p tmp_dir system "cd #{tmp_dir} && tar xzf #{restore_job.backup_file.path}" - system "cd /tmp/gs5_restore_directory/*/ && tar xf GS5.tar && rm GS5.tar" + restore_directory = Dir.glob("/tmp/gs5_restore_directory/*").first + system "cd #{restore_directory} && tar xf GS5.tar && rm GS5.tar" # Restore faxes # - system "cd / && tar xzfP /tmp/gs5_restore_directory/*/GS5/archives/faxes.tar.gz" + system "cd / && tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz" # Restore voicemails # - # system "cd / && tar xzfP /tmp/gs5_restore_directory/*/GS5/archives/voicemails.tar.gz" + # system "cd / && tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" # Restore the database # @@ -32,7 +33,7 @@ namespace :backup do db_user = system_odbc_configuration['gemeinschaft']['USER'] db_password = system_odbc_configuration['gemeinschaft']['PASSWORD'] - system "gunzip < /tmp/gs5_restore_directory/*/GS5/databases/MySQL/gemeinschaft.sql.gz | mysql -u #{db_user} -p#{db_password} #{database}" + system "gunzip < #{restore_directory}/GS5/databases/MySQL/gemeinschaft.sql.gz | mysql -u #{db_user} -p#{db_password} #{database}" FileUtils.rm_rf tmp_dir -- cgit v1.2.3 From f9fce457486aa6d00ec83f009b18b9817c32468a Mon Sep 17 00:00:00 2001 From: Julian Pawlowski Date: Tue, 26 Feb 2013 18:37:19 +0100 Subject: run tar commands via sudo --- lib/tasks/backup.rake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index 913d7d3..df632c3 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -13,17 +13,17 @@ namespace :backup do tmp_dir = "/tmp/gs5_restore_directory" FileUtils.rm_rf tmp_dir FileUtils.mkdir_p tmp_dir - system "cd #{tmp_dir} && tar xzf #{restore_job.backup_file.path}" + system "cd #{tmp_dir} && sudo /usr/bin/tar xzf #{restore_job.backup_file.path}" restore_directory = Dir.glob("/tmp/gs5_restore_directory/*").first - system "cd #{restore_directory} && tar xf GS5.tar && rm GS5.tar" + system "cd #{restore_directory} && sudo /usr/bin/tar xf GS5.tar && rm GS5.tar" # Restore faxes # - system "cd / && tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz" + system "cd / && sudo /usr/bin/tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz" # Restore voicemails # - # system "cd / && tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" + # system "cd / && sudo /usr/bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" # Restore the database # -- cgit v1.2.3 From 177a2c037468e222191b6668eb8e64a94833b18c Mon Sep 17 00:00:00 2001 From: Julian Pawlowski Date: Tue, 26 Feb 2013 21:34:33 +0100 Subject: correct path for tar --- lib/tasks/backup.rake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index df632c3..8e55be2 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -13,17 +13,17 @@ namespace :backup do tmp_dir = "/tmp/gs5_restore_directory" FileUtils.rm_rf tmp_dir FileUtils.mkdir_p tmp_dir - system "cd #{tmp_dir} && sudo /usr/bin/tar xzf #{restore_job.backup_file.path}" + system "cd #{tmp_dir} && sudo /bin/tar xzf #{restore_job.backup_file.path}" restore_directory = Dir.glob("/tmp/gs5_restore_directory/*").first - system "cd #{restore_directory} && sudo /usr/bin/tar xf GS5.tar && rm GS5.tar" + system "cd #{restore_directory} && sudo /bin/tar xf GS5.tar && rm GS5.tar" # Restore faxes # - system "cd / && sudo /usr/bin/tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz" + system "cd / && sudo /bin/tar xzfP #{restore_directory}/GS5/archives/faxes.tar.gz" # Restore voicemails # - # system "cd / && sudo /usr/bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" + # system "cd / && sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" # Restore the database # -- cgit v1.2.3 From 5053adc7c549830acda4d1218efa76f44e107a8a Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 27 Feb 2013 06:51:08 +0100 Subject: Don't store the fax_thumbnails in the backup. Plus recreate them at restore. --- lib/tasks/backup.rake | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index 8e55be2..61c587b 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -23,7 +23,7 @@ namespace :backup do # Restore voicemails # - # system "cd / && sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" + system "cd / && sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" # Restore the database # @@ -38,6 +38,12 @@ namespace :backup do FileUtils.rm_rf tmp_dir system "cd /opt/gemeinschaft && rake db:migrate" + + # Rebuild the thumbnails + # + FaxDocument.each do |fax_document| + fax_document.render_thumbnails + end end end -- cgit v1.2.3 From b11fe0c0c84ea91a27dba87e4c891caf5097440d Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 27 Feb 2013 10:11:49 +0100 Subject: Bugfix --- lib/tasks/backup.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index 61c587b..c4a4b47 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -41,7 +41,7 @@ namespace :backup do # Rebuild the thumbnails # - FaxDocument.each do |fax_document| + FaxDocument.all.each do |fax_document| fax_document.render_thumbnails end end -- cgit v1.2.3 From 784c1eab8b6b19e00f38aa4a1f50f4ccbe11fc89 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 27 Feb 2013 10:13:37 +0100 Subject: Delete a restore_job entry after a restore procedure. --- lib/tasks/backup.rake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index c4a4b47..39a4282 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -44,6 +44,10 @@ namespace :backup do FaxDocument.all.each do |fax_document| fax_document.render_thumbnails end + + # Delete the restore_job. No need to waste that space. + # + restore_job.destroy end end -- cgit v1.2.3 From 4d6c3cc12ecef9f8c82e448d5ab9fba5fb52ef57 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Wed, 27 Feb 2013 10:16:11 +0100 Subject: Delete the archive tar.gz to get more air to breathe. --- lib/tasks/backup.rake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/tasks') diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index 39a4282..21b0fac 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -25,6 +25,10 @@ namespace :backup do # system "cd / && sudo /bin/tar xzfP #{restore_directory}/GS5/archives/voicemails.tar.gz" + # Delete the archive tar.gz to get more air to breathe + # + FileUtils.mkdir_p "#{restore_directory}/GS5/archives" + # Restore the database # system_odbc_ini_file = '/var/lib/freeswitch/.odbc.ini' -- cgit v1.2.3