Backup::Model.new(“<%= application_name %>”, “Remote Backup”) do

# This is the rails root location, given this file is located at in Rails.root/config/backup.rb
rails_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))

<%
  database_engine = "'TODO: FILL IN'"
  database_config_filename = "database.yml"
  if defined?(PG)
    database_engine = 'PostgreSQL'
  elsif defined?(Mongo)
    database_engine = 'MongoDB'
    database_config_filename = "mongo.yml"
  end
%>
app_database_config = YAML.load_file(File.join(rails_root, "config/<%= database_config_filename %>"))
database_config = app_database_config[ENV['RAILS_ENV']]

database <%= database_engine %> do |db|
  db.name               = database_config["database"]
  db.host               = database_config["host"] if database_config["host"]
  db.port               = database_config["port"] if database_config["port"]
  db.username           = database_config["username"] if database_config["username"]
  db.password           = database_config["password"] if database_config["password"]
  db.additional_options = []
end

archive :system_folder_backup do |archive|
  # add folders (including sub-folders)
  folder = File.expand_path("#{rails_root}/../shared/system/")
  archive.add(folder)
end

s3config = YAML.load_file(File.join(rails_root, "config/s3.yml"))

store_with S3 do |s3|
  s3.access_key_id      = s3config['access_key_id']
  s3.secret_access_key  = s3config['secret_access_key']
  s3.region             = s3config['region']
  s3.bucket             = s3config['backup_bucket']
  s3.path               = "/<%= application_name %>/#{ENV['RAILS_ENV']}/"
  # s3.keep               = 30 # Enable this if you have read/delete access on S3 to clean up old backups
end

compress_with Bzip2 do |compression|
  compression.level = 9
end

notify_by Mail do |mail|
  mail.on_success           = false
  mail.on_warning           = true
  mail.on_failure           = true

  mail.delivery_method      = :sendmail
  mail.from                 = 'TODO: set from address'
  mail.to                   = 'TODO: set delivery address'
end

end