Clone this wiki locally
Currently supported notifiers:
The following examples should be placed in your Backup configuration file.
Backup::Model.new(:my_backup, 'My Backup') do # examples go here... end
notify_by Mail do |mail| mail.on_success = true mail.on_warning = true mail.on_failure = true mail.from = 'email@example.com' mail.to = 'firstname.lastname@example.org' mail.address = 'smtp.gmail.com' mail.port = 587 mail.domain = 'your.host.name' mail.user_name = 'email@example.com' mail.password = 'my_password' mail.authentication = 'plain' mail.enable_starttls_auto = true end
This will make
firstname.lastname@example.org send an email to
email@example.com every time a Backup process ends.
To receive an email only if a problem occurs, use:
mail.on_success = false mail.on_warning = true mail.on_failure = true
on_warning notifications are sent when warnings occur, but the backup process was still successful.
true, then warning notifications will be sent regardless of the
To ignore warnings and only receive an email if the backup process fails, use:
mail.on_success = false mail.on_warning = false mail.on_failure = true
on_failure notifications, the email sent will have a copy of the backup log attached, which will show
all messages/warnings/errors logged during the backup process. The backup log is not attached to
Other Delivery Methods
- To use Mail::Sendmail, use the following:
notify_by Mail do |mail| mail.on_success = true mail.on_warning = true mail.on_failure = true mail.delivery_method = :sendmail mail.from = 'firstname.lastname@example.org' mail.to = 'email@example.com' # optional settings: mail.sendmail # the full path to the `sendmail` program mail.sendmail_args # string of arguments to to pass to `sendmail` end
- To use Mail::Exim, use the following:
notify_by Mail do |mail| mail.on_success = true mail.on_warning = true mail.on_failure = true mail.delivery_method = :exim mail.from = 'firstname.lastname@example.org' mail.to = 'email@example.com' # optional settings: mail.exim # the full path to the `exim` program mail.exim_args # string of arguments to to pass to `exim` end
- To use Mail::FileDelivery, use the following:
notify_by Mail do |mail| mail.on_success = true mail.on_warning = true mail.on_failure = true mail.delivery_method = :file mail.from = 'firstname.lastname@example.org' mail.to = 'email@example.com' mail.mail_folder = '/path/to/store/emails' # default: ~/Backup/emails end
notify_by Twitter do |tweet| tweet.on_success = true tweet.on_warning = true tweet.on_failure = true tweet.consumer_key = 'my_consumer_key' tweet.consumer_secret = 'my_consumer_secret' tweet.oauth_token = 'my_oauth_token' tweet.oauth_token_secret = 'my_oauth_token_secret' end
In order to use Twitter as a notifier you will need a Twitter account. Once you create a Twitter account for the notifier, you need to register a new application for your Twitter account. After registering an application you will acquire the following credentials:
You can find these credentials on your application's pages.
notify_by Campfire do |campfire| campfire.on_success = true campfire.on_warning = true campfire.on_failure = true campfire.api_token = 'my_token' campfire.subdomain = 'my_subdomain' campfire.room_id = 'the_room_id' end
In order to use Campfire as a notifier you will need a Campfire account. Once you create a Campfire account for the notifier, you need to create a room and take note of its id (room_id) (https://.campfirenow.com/room/), get your api authentication token from the "My info" page, and take note of your subdomain (https://.campfirenow.com/).
Long story short, this is the information you will need:
api authentication token
notify_by Presently do |presently| presently.on_success = true presently.on_warning = true presently.on_failure = true presently.subdomain = 'my_subdomain' presently.user_name = 'my_user_name' presently.password = 'my_password' presently.group_id = 'my_group_id' # optional end
In order to use Presently as a notifier you will need a Presently account.
notify_by Prowl do |prowl| prowl.on_success = true prowl.on_warning = true prowl.on_failure = true prowl.application = 'my_application' # Example: Server Backup prowl.api_key = 'my_api_key' end
Prowl is an iOS push notification gateway. Backup can connect to Prowl and deliver success and/or failure notifications directly to your iOS device. All you need is a Prowl account. Go to the API keys tab after registration, generate a key and copy/paste it into your notifier configuration.
notify_by Hipchat do |hipchat| hipchat.on_success = true hipchat.on_warning = true hipchat.on_failure = true hipchat.success_color = 'green' hipchat.warning_color = 'yellow' hipchat.failure_color = 'red' hipchat.token = 'hipchat api token' # required hipchat.from = 'DB Backup' # required hipchat.rooms_notified = ['activity'] # required and should be an array end
Hipchat is a hosted private chat service. Backup can connect to Hipchat to post notices in room via the API. To get an API token, you must be logged in as an admin. Click the Group Admin tab at the top, then click API and then create a new token for backup. A "notification" key type is sufficient.
The Hipchat notifier can notify on multiple rooms that you specify by name.
Please see the Hipchat API documents for a list of available colors.
If you are planning to set up a Mail notifier for multiple Backup processes, it'll become quite verbose and redundant, very quickly. Consider setting up some default configuration. For example, if in most cases you want to use the same "sender" to send email notifications, you could set up a default Mail configuration, like so:
Backup::Configuration::Notifier::Mail.defaults do |mail| mail.from = 'firstname.lastname@example.org' mail.to = 'email@example.com' mail.address = 'smtp.gmail.com' mail.port = 587 mail.domain = 'your.host.name' mail.user_name = 'firstname.lastname@example.org' mail.password = 'my_password' mail.authentication = 'plain' mail.enable_starttls_auto = true end
So now, every time you wish to setup Mail notifications for a Backup process, you only have to define the following inside the Backup::Model block:
Then you won't have to specify all the SMTP configuration, sender, receiver, credentials, etc.
It will always use the defaults unless you explicitly overwrite them within the
For example, the
on_failure notifications are always
true by default.
To turn off
on_success notifications, use:
notify_by Mail do |mail| mail.on_success = false end