summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/gs5_backup.rb53
-rw-r--r--config/backup.rb65
2 files changed, 38 insertions, 80 deletions
diff --git a/app/models/gs5_backup.rb b/app/models/gs5_backup.rb
deleted file mode 100644
index 928245f..0000000
--- a/app/models/gs5_backup.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-# encoding: utf-8
-
-##
-# Backup Generated: gs5_backup
-# Once configured, you can run the backup with the following command:
-#
-# $ backup perform -t gs5_backup [-c <path_to_configuration_file>]
-#
-Backup::Model.new(:gs5_backup, 'GS5 backup') do
- ##
- # Split [Splitter]
- #
- # Split the backup file in to chunks of 250 megabytes
- # if the backup file size exceeds 250 megabytes
- #
- split_into_chunks_of 640
-
- ##
- # MySQL [Database]
- #
- database MySQL do |db|
- # To dump all databases, set `db.name = :all` (or leave blank)
- db.name = system_odbc_configuration['gemeinschaft']['DATABASE']
- db.username = system_odbc_configuration['gemeinschaft']['USER']
- db.password = system_odbc_configuration['gemeinschaft']['PASSWORD']
- db.host = "localhost"
- db.port = 3306
- db.socket = "/tmp/mysql.sock"
- # Note: when using `skip_tables` with the `db.name = :all` option,
- # table names should be prefixed with a database name.
- # e.g. ["db_name.table_to_skip", ...]
- db.skip_tables = ["skip", "these", "tables"]
- db.only_tables = ["only", "these" "tables"]
- db.additional_options = ["--quick", "--single-transaction"]
- # Optional: Use to set the location of this utility
- # if it cannot be found by name in your $PATH
- # db.mysqldump_utility = "/opt/local/bin/mysqldump"
- end
-
- ##
- # Local (Copy) [Storage]
- #
- store_with Local do |local|
- local.path = "/var/backups/gs5"
- local.keep = 5
- end
-
- ##
- # Gzip [Compressor]
- #
- compress_with Gzip
-
-end
diff --git a/config/backup.rb b/config/backup.rb
index a7d98c3..4a48ac5 100644
--- a/config/backup.rb
+++ b/config/backup.rb
@@ -1,32 +1,43 @@
# encoding: utf-8
-##
-# Backup
-# Generated Main Config Template
-#
-# For more information:
-#
-# View the Git repository at https://github.com/meskyanichi/backup
-# View the Wiki/Documentation at https://github.com/meskyanichi/backup/wiki
-# View the issue log at https://github.com/meskyanichi/backup/issues
+require 'inifile'
+SYSTEM_ODBC_CONFIGURATION = IniFile.load('/var/lib/freeswitch/.odbc.ini')
-##
-# Global Configuration
-# Add more (or remove) global configuration below
-#
-# Backup::Storage::S3.defaults do |s3|
-# s3.access_key_id = "my_access_key_id"
-# s3.secret_access_key = "my_secret_access_key"
-# end
-#
-# Backup::Encryptor::OpenSSL.defaults do |encryption|
-# encryption.password = "my_password"
-# encryption.base64 = true
-# encryption.salt = true
-# end
+Backup::Model.new(:gs5, 'GS5 backup') do
+
+ ##
+ # Split [Splitter]
+ #
+ # Split the backup file in to chunks of 2 GB
+ # if the backup file size exceeds 2 GB
+ #
+ split_into_chunks_of 2048
+
+ ##
+ # MySQL [Database]
+ #
+ database MySQL do |db|
+ # To dump all databases, set `db.name = :all` (or leave blank)
+ db.name = SYSTEM_ODBC_CONFIGURATION['gemeinschaft']['DATABASE']
+ db.username = SYSTEM_ODBC_CONFIGURATION['gemeinschaft']['USER']
+ db.password = SYSTEM_ODBC_CONFIGURATION['gemeinschaft']['PASSWORD']
+ db.host = "localhost"
+ db.port = 3306
+ db.socket = "/var/run/mysqld/mysqld.sock"
+ end
+
+ ##
+ # Local (Copy) [Storage]
+ #
+ store_with Local do |local|
+ local.path = "/var/backups/"
+ local.keep = 5
+ end
+
+ ##
+ # Gzip [Compressor]
+ #
+ compress_with Gzip
-##
-# Load all models from the models directory (after the above global configuration blocks)
-Dir[File.join(File.dirname(Config.config_file), "models", "*.rb")].each do |model|
- instance_eval(File.read(model))
end
+