diff options
-rw-r--r-- | app/models/gs5_backup.rb | 53 | ||||
-rw-r--r-- | config/backup.rb | 65 |
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 + |