backup_zh 4.0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.md +24 -0
- data/README.md +21 -0
- data/bin/backup_zh +5 -0
- data/lib/backup.rb +137 -0
- data/lib/backup/archive.rb +170 -0
- data/lib/backup/binder.rb +22 -0
- data/lib/backup/cleaner.rb +116 -0
- data/lib/backup/cli.rb +364 -0
- data/lib/backup/cloud_io/base.rb +41 -0
- data/lib/backup/cloud_io/cloud_files.rb +298 -0
- data/lib/backup/cloud_io/qi_niu.rb +93 -0
- data/lib/backup/cloud_io/s3.rb +260 -0
- data/lib/backup/compressor/base.rb +35 -0
- data/lib/backup/compressor/bzip2.rb +39 -0
- data/lib/backup/compressor/custom.rb +53 -0
- data/lib/backup/compressor/gzip.rb +74 -0
- data/lib/backup/config.rb +119 -0
- data/lib/backup/config/dsl.rb +103 -0
- data/lib/backup/config/helpers.rb +143 -0
- data/lib/backup/database/base.rb +85 -0
- data/lib/backup/database/mongodb.rb +186 -0
- data/lib/backup/database/mysql.rb +181 -0
- data/lib/backup/database/openldap.rb +95 -0
- data/lib/backup/database/postgresql.rb +133 -0
- data/lib/backup/database/redis.rb +179 -0
- data/lib/backup/database/riak.rb +82 -0
- data/lib/backup/encryptor/base.rb +29 -0
- data/lib/backup/encryptor/gpg.rb +747 -0
- data/lib/backup/encryptor/open_ssl.rb +72 -0
- data/lib/backup/errors.rb +58 -0
- data/lib/backup/logger.rb +199 -0
- data/lib/backup/logger/console.rb +51 -0
- data/lib/backup/logger/fog_adapter.rb +29 -0
- data/lib/backup/logger/logfile.rb +133 -0
- data/lib/backup/logger/syslog.rb +116 -0
- data/lib/backup/model.rb +454 -0
- data/lib/backup/notifier/base.rb +98 -0
- data/lib/backup/notifier/campfire.rb +69 -0
- data/lib/backup/notifier/flowdock.rb +102 -0
- data/lib/backup/notifier/hipchat.rb +93 -0
- data/lib/backup/notifier/http_post.rb +122 -0
- data/lib/backup/notifier/mail.rb +238 -0
- data/lib/backup/notifier/nagios.rb +74 -0
- data/lib/backup/notifier/prowl.rb +69 -0
- data/lib/backup/notifier/pushover.rb +80 -0
- data/lib/backup/notifier/slack.rb +158 -0
- data/lib/backup/notifier/twitter.rb +64 -0
- data/lib/backup/notifier/zabbix.rb +68 -0
- data/lib/backup/package.rb +51 -0
- data/lib/backup/packager.rb +101 -0
- data/lib/backup/pipeline.rb +124 -0
- data/lib/backup/splitter.rb +76 -0
- data/lib/backup/storage/base.rb +57 -0
- data/lib/backup/storage/cloud_files.rb +158 -0
- data/lib/backup/storage/cycler.rb +65 -0
- data/lib/backup/storage/dropbox.rb +236 -0
- data/lib/backup/storage/ftp.rb +98 -0
- data/lib/backup/storage/local.rb +64 -0
- data/lib/backup/storage/ninefold.rb +74 -0
- data/lib/backup/storage/qi_niu.rb +70 -0
- data/lib/backup/storage/rsync.rb +248 -0
- data/lib/backup/storage/s3.rb +154 -0
- data/lib/backup/storage/scp.rb +67 -0
- data/lib/backup/storage/sftp.rb +82 -0
- data/lib/backup/syncer/base.rb +70 -0
- data/lib/backup/syncer/cloud/base.rb +179 -0
- data/lib/backup/syncer/cloud/cloud_files.rb +83 -0
- data/lib/backup/syncer/cloud/local_file.rb +100 -0
- data/lib/backup/syncer/cloud/s3.rb +110 -0
- data/lib/backup/syncer/rsync/base.rb +48 -0
- data/lib/backup/syncer/rsync/local.rb +31 -0
- data/lib/backup/syncer/rsync/pull.rb +51 -0
- data/lib/backup/syncer/rsync/push.rb +205 -0
- data/lib/backup/template.rb +46 -0
- data/lib/backup/utilities.rb +224 -0
- data/lib/backup/version.rb +5 -0
- data/templates/cli/archive +28 -0
- data/templates/cli/compressor/bzip2 +4 -0
- data/templates/cli/compressor/custom +7 -0
- data/templates/cli/compressor/gzip +4 -0
- data/templates/cli/config +123 -0
- data/templates/cli/databases/mongodb +15 -0
- data/templates/cli/databases/mysql +18 -0
- data/templates/cli/databases/openldap +24 -0
- data/templates/cli/databases/postgresql +16 -0
- data/templates/cli/databases/redis +16 -0
- data/templates/cli/databases/riak +17 -0
- data/templates/cli/encryptor/gpg +27 -0
- data/templates/cli/encryptor/openssl +9 -0
- data/templates/cli/model +26 -0
- data/templates/cli/notifier/zabbix +15 -0
- data/templates/cli/notifiers/campfire +12 -0
- data/templates/cli/notifiers/flowdock +16 -0
- data/templates/cli/notifiers/hipchat +15 -0
- data/templates/cli/notifiers/http_post +32 -0
- data/templates/cli/notifiers/mail +21 -0
- data/templates/cli/notifiers/nagios +13 -0
- data/templates/cli/notifiers/prowl +11 -0
- data/templates/cli/notifiers/pushover +11 -0
- data/templates/cli/notifiers/slack +23 -0
- data/templates/cli/notifiers/twitter +13 -0
- data/templates/cli/splitter +7 -0
- data/templates/cli/storages/cloud_files +11 -0
- data/templates/cli/storages/dropbox +19 -0
- data/templates/cli/storages/ftp +12 -0
- data/templates/cli/storages/local +7 -0
- data/templates/cli/storages/ninefold +9 -0
- data/templates/cli/storages/qi_niu +9 -0
- data/templates/cli/storages/rsync +17 -0
- data/templates/cli/storages/s3 +14 -0
- data/templates/cli/storages/scp +14 -0
- data/templates/cli/storages/sftp +14 -0
- data/templates/cli/syncers/cloud_files +22 -0
- data/templates/cli/syncers/rsync_local +20 -0
- data/templates/cli/syncers/rsync_pull +28 -0
- data/templates/cli/syncers/rsync_push +28 -0
- data/templates/cli/syncers/s3 +27 -0
- data/templates/general/links +3 -0
- data/templates/general/version.erb +2 -0
- data/templates/notifier/mail/failure.erb +16 -0
- data/templates/notifier/mail/success.erb +16 -0
- data/templates/notifier/mail/warning.erb +16 -0
- data/templates/storage/dropbox/authorization_url.erb +6 -0
- data/templates/storage/dropbox/authorized.erb +4 -0
- data/templates/storage/dropbox/cache_file_written.erb +10 -0
- metadata +1124 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
##
|
|
2
|
+
# MongoDB [Database]
|
|
3
|
+
#
|
|
4
|
+
database MongoDB do |db|
|
|
5
|
+
db.name = "my_database_name"
|
|
6
|
+
db.username = "my_username"
|
|
7
|
+
db.password = "my_password"
|
|
8
|
+
db.host = "localhost"
|
|
9
|
+
db.port = 5432
|
|
10
|
+
db.ipv6 = false
|
|
11
|
+
db.only_collections = ["only", "these", "collections"]
|
|
12
|
+
db.additional_options = []
|
|
13
|
+
db.lock = false
|
|
14
|
+
db.oplog = false
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
##
|
|
2
|
+
# MySQL [Database]
|
|
3
|
+
#
|
|
4
|
+
database MySQL do |db|
|
|
5
|
+
# To dump all databases, set `db.name = :all` (or leave blank)
|
|
6
|
+
db.name = "my_database_name"
|
|
7
|
+
db.username = "my_username"
|
|
8
|
+
db.password = "my_password"
|
|
9
|
+
db.host = "localhost"
|
|
10
|
+
db.port = 3306
|
|
11
|
+
db.socket = "/tmp/mysql.sock"
|
|
12
|
+
# Note: when using `skip_tables` with the `db.name = :all` option,
|
|
13
|
+
# table names should be prefixed with a database name.
|
|
14
|
+
# e.g. ["db_name.table_to_skip", ...]
|
|
15
|
+
db.skip_tables = ["skip", "these", "tables"]
|
|
16
|
+
db.only_tables = ["only", "these", "tables"]
|
|
17
|
+
db.additional_options = ["--quick", "--single-transaction"]
|
|
18
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
##
|
|
2
|
+
# OpenLDAP [Database]
|
|
3
|
+
#
|
|
4
|
+
database OpenLDAP do |db|
|
|
5
|
+
# Name of the ldap backup
|
|
6
|
+
db.name = "my_database_name"
|
|
7
|
+
|
|
8
|
+
# Additional "slapcat" options
|
|
9
|
+
# defaults to an empty list of options
|
|
10
|
+
# db.slapcat_args = []
|
|
11
|
+
|
|
12
|
+
# run slapcat under sudo if needed
|
|
13
|
+
# defaults to "false"
|
|
14
|
+
# db.use_sudo = true
|
|
15
|
+
|
|
16
|
+
# Stores the location of the slapd.conf,
|
|
17
|
+
# defaults to "/etc/ldap/slapd.d" confdir
|
|
18
|
+
# you can use also conf file instead of directory
|
|
19
|
+
# db.slapcat_conf = /path/to/slapd.conf
|
|
20
|
+
|
|
21
|
+
# Optional: Use to set the location of slapcat utility
|
|
22
|
+
# if it cannot be found by name in your $PATH
|
|
23
|
+
# db.slapcat_utility = "/opt/local/bin/slapcat"
|
|
24
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
##
|
|
2
|
+
# PostgreSQL [Database]
|
|
3
|
+
#
|
|
4
|
+
database PostgreSQL do |db|
|
|
5
|
+
# To dump all databases, set `db.name = :all` (or leave blank)
|
|
6
|
+
db.name = "my_database_name"
|
|
7
|
+
db.username = "my_username"
|
|
8
|
+
db.password = "my_password"
|
|
9
|
+
db.host = "localhost"
|
|
10
|
+
db.port = 5432
|
|
11
|
+
db.socket = "/tmp/pg.sock"
|
|
12
|
+
# When dumping all databases, `skip_tables` and `only_tables` are ignored.
|
|
13
|
+
db.skip_tables = ["skip", "these", "tables"]
|
|
14
|
+
db.only_tables = ["only", "these", "tables"]
|
|
15
|
+
db.additional_options = ["-xc", "-E=utf8"]
|
|
16
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Redis [Database]
|
|
3
|
+
#
|
|
4
|
+
database Redis do |db|
|
|
5
|
+
db.mode = :copy # or :sync
|
|
6
|
+
# Full path to redis dump file for :copy mode.
|
|
7
|
+
db.rdb_path = '/var/lib/redis/dump.rdb'
|
|
8
|
+
# When :copy mode is used, perform a SAVE before
|
|
9
|
+
# copying the dump file specified by `rdb_path`.
|
|
10
|
+
db.invoke_save = false
|
|
11
|
+
db.host = 'localhost'
|
|
12
|
+
db.port = 6379
|
|
13
|
+
db.socket = '/tmp/redis.sock'
|
|
14
|
+
db.password = 'my_password'
|
|
15
|
+
db.additional_options = []
|
|
16
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Riak [Database]
|
|
3
|
+
#
|
|
4
|
+
database Riak do |db|
|
|
5
|
+
##
|
|
6
|
+
# The node from which to perform the backup.
|
|
7
|
+
# default: 'riak@127.0.0.1'
|
|
8
|
+
db.node = 'riak@hostname'
|
|
9
|
+
##
|
|
10
|
+
# The Erlang cookie/shared secret used to connect to the node.
|
|
11
|
+
# default: 'riak'
|
|
12
|
+
db.cookie = 'cookie'
|
|
13
|
+
##
|
|
14
|
+
# The user for the Riak instance.
|
|
15
|
+
# default: 'riak'
|
|
16
|
+
db.user = 'riak'
|
|
17
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
##
|
|
2
|
+
# GPG [Encryptor]
|
|
3
|
+
#
|
|
4
|
+
# Setting up #keys, as well as #gpg_homedir and #gpg_config,
|
|
5
|
+
# would be best set in config.rb using Encryptor::GPG.defaults
|
|
6
|
+
#
|
|
7
|
+
encrypt_with GPG do |encryption|
|
|
8
|
+
# Setup public keys for #recipients
|
|
9
|
+
encryption.keys = {}
|
|
10
|
+
encryption.keys['user@domain.com'] = <<-KEY
|
|
11
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
12
|
+
Version: GnuPG v1.4.11 (Darwin)
|
|
13
|
+
|
|
14
|
+
<Your GPG Public Key Here>
|
|
15
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
|
16
|
+
KEY
|
|
17
|
+
|
|
18
|
+
# Specify mode (:asymmetric, :symmetric or :both)
|
|
19
|
+
encryption.mode = :both # defaults to :asymmetric
|
|
20
|
+
|
|
21
|
+
# Specify recipients from #keys (for :asymmetric encryption)
|
|
22
|
+
encryption.recipients = ['user@domain.com']
|
|
23
|
+
|
|
24
|
+
# Specify passphrase or passphrase_file (for :symmetric encryption)
|
|
25
|
+
encryption.passphrase = 'a secret'
|
|
26
|
+
# encryption.passphrase_file = '~/backup_passphrase'
|
|
27
|
+
end
|
data/templates/cli/model
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
##
|
|
4
|
+
# Backup Generated: <%= @options[:trigger] %>
|
|
5
|
+
# Once configured, you can run the backup with the following command:
|
|
6
|
+
#
|
|
7
|
+
# $ backup perform -t <%= @options[:trigger] %> [-c <path_to_configuration_file>]
|
|
8
|
+
#
|
|
9
|
+
# For more information about Backup's components, see the documentation at:
|
|
10
|
+
# http://meskyanichi.github.io/backup
|
|
11
|
+
#
|
|
12
|
+
Model.new(:<%= @options[:trigger] %>, 'Description for <%= @options[:trigger] %>') do
|
|
13
|
+
<% if @options[:splitter] %>
|
|
14
|
+
<%= Backup::Template.new.result('cli/splitter') %>
|
|
15
|
+
<% end; if @options[:archives] %>
|
|
16
|
+
<%= Backup::Template.new.result('cli/archive') %>
|
|
17
|
+
<% end; %w{ databases storages syncers encryptor compressor notifiers }.each do |item|
|
|
18
|
+
if @options[item]
|
|
19
|
+
@options[item].split(',').map(&:strip).uniq.each do |entry|
|
|
20
|
+
if File.exist?(File.join(Backup::TEMPLATE_PATH, 'cli', item, entry)) %>
|
|
21
|
+
<%= Backup::Template.new.result("cli/#{ item }/#{ entry }") %>
|
|
22
|
+
<% end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end %>
|
|
26
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Zabbix [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Zabbix do |zabbix|
|
|
5
|
+
zabbix.on_success = true
|
|
6
|
+
zabbix.on_warning = true
|
|
7
|
+
zabbix.on_failure = true
|
|
8
|
+
|
|
9
|
+
zabbix.zabbix_host = "zabbix_server_hostname"
|
|
10
|
+
zabbix.zabbix_port = 10051
|
|
11
|
+
zabbix.service_name = "Backup trigger"
|
|
12
|
+
zabbix.service_host = "zabbix_host"
|
|
13
|
+
zabbix.item_key = "backup_status"
|
|
14
|
+
end
|
|
15
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Campfire [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Campfire do |campfire|
|
|
5
|
+
campfire.on_success = true
|
|
6
|
+
campfire.on_warning = true
|
|
7
|
+
campfire.on_failure = true
|
|
8
|
+
|
|
9
|
+
campfire.api_token = "my_api_authentication_token"
|
|
10
|
+
campfire.subdomain = "my_subdomain"
|
|
11
|
+
campfire.room_id = "my_room_id"
|
|
12
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Flowdock [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by FlowDock do |flowdock|
|
|
5
|
+
flowdock.on_success = true
|
|
6
|
+
flowdock.on_warning = true
|
|
7
|
+
flowdock.on_failure = true
|
|
8
|
+
|
|
9
|
+
flowdock.token = "token"
|
|
10
|
+
flowdock.from_name = 'my_name'
|
|
11
|
+
flowdock.from_email = 'email@example.com'
|
|
12
|
+
flowdock.subject = 'My Daily Backup'
|
|
13
|
+
flowdock.source = 'Backup'
|
|
14
|
+
flowdock.tags = ['prod', 'backup']
|
|
15
|
+
flowdock.link = 'www.example.com'
|
|
16
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Hipchat [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Hipchat do |hipchat|
|
|
5
|
+
hipchat.on_success = true
|
|
6
|
+
hipchat.on_warning = true
|
|
7
|
+
hipchat.on_failure = true
|
|
8
|
+
|
|
9
|
+
hipchat.token = "token"
|
|
10
|
+
hipchat.from = "DB Backup"
|
|
11
|
+
hipchat.rooms_notified = ["activity"]
|
|
12
|
+
hipchat.success_color = "green"
|
|
13
|
+
hipchat.warning_color = "yellow"
|
|
14
|
+
hipchat.failure_color = "red"
|
|
15
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
##
|
|
2
|
+
# HttpPost [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by HttpPost do |post|
|
|
5
|
+
post.on_success = true
|
|
6
|
+
post.on_warning = true
|
|
7
|
+
post.on_failure = true
|
|
8
|
+
|
|
9
|
+
# URI to post the notification to.
|
|
10
|
+
# Port may be specified if needed.
|
|
11
|
+
# If Basic Authentication is required, supply user:pass.
|
|
12
|
+
post.uri = 'https://user:pass@your.domain.com:8443/path'
|
|
13
|
+
|
|
14
|
+
##
|
|
15
|
+
# Optional
|
|
16
|
+
#
|
|
17
|
+
# Additional headers to send.
|
|
18
|
+
# post.headers = { 'Authentication' => 'my_auth_info' }
|
|
19
|
+
#
|
|
20
|
+
# Additional form params to post.
|
|
21
|
+
# post.params = { 'auth_token' => 'my_token' }
|
|
22
|
+
#
|
|
23
|
+
# Successful response codes. Default: 200
|
|
24
|
+
# post.success_codes = [200, 201, 204]
|
|
25
|
+
#
|
|
26
|
+
# Defaults to true on most systems.
|
|
27
|
+
# Force with +true+, disable with +false+
|
|
28
|
+
# post.ssl_verify_peer = false
|
|
29
|
+
#
|
|
30
|
+
# Supplied by default. Override with a custom 'cacert.pem' file.
|
|
31
|
+
# post.ssl_ca_file = '/my/cacert.pem'
|
|
32
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Mail [Notifier]
|
|
3
|
+
#
|
|
4
|
+
# The default delivery method for Mail Notifiers is 'SMTP'.
|
|
5
|
+
# See the documentation for other delivery options.
|
|
6
|
+
#
|
|
7
|
+
notify_by Mail do |mail|
|
|
8
|
+
mail.on_success = true
|
|
9
|
+
mail.on_warning = true
|
|
10
|
+
mail.on_failure = true
|
|
11
|
+
|
|
12
|
+
mail.from = "sender@email.com"
|
|
13
|
+
mail.to = "receiver@email.com"
|
|
14
|
+
mail.address = "smtp.gmail.com"
|
|
15
|
+
mail.port = 587
|
|
16
|
+
mail.domain = "your.host.name"
|
|
17
|
+
mail.user_name = "sender@email.com"
|
|
18
|
+
mail.password = "my_password"
|
|
19
|
+
mail.authentication = "plain"
|
|
20
|
+
mail.encryption = :starttls
|
|
21
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Nagios [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Nagios do |nagios|
|
|
5
|
+
nagios.on_success = true
|
|
6
|
+
nagios.on_warning = true
|
|
7
|
+
nagios.on_failure = true
|
|
8
|
+
|
|
9
|
+
nagios.nagios_host = 'nagioshost'
|
|
10
|
+
nagios.nagios_port = 5667
|
|
11
|
+
nagios.service_name = 'My Backup'
|
|
12
|
+
nagios.service_host = 'backuphost'
|
|
13
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Slack [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Slack do |slack|
|
|
5
|
+
slack.on_success = true
|
|
6
|
+
slack.on_warning = true
|
|
7
|
+
slack.on_failure = true
|
|
8
|
+
|
|
9
|
+
# The team name
|
|
10
|
+
slack.team = 'my_team'
|
|
11
|
+
|
|
12
|
+
# The integration token
|
|
13
|
+
slack.token = 'xxxxxxxxxxxxxxxxxxxxxxxx'
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Optional
|
|
17
|
+
#
|
|
18
|
+
# The channel to which messages will be sent
|
|
19
|
+
# slack.channel = 'my_channel'
|
|
20
|
+
#
|
|
21
|
+
# The username to display along with the notification
|
|
22
|
+
# slack.username = 'my_username'
|
|
23
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Twitter [Notifier]
|
|
3
|
+
#
|
|
4
|
+
notify_by Twitter do |tweet|
|
|
5
|
+
tweet.on_success = true
|
|
6
|
+
tweet.on_warning = true
|
|
7
|
+
tweet.on_failure = true
|
|
8
|
+
|
|
9
|
+
tweet.consumer_key = "my_consumer_key"
|
|
10
|
+
tweet.consumer_secret = "my_consumer_secret"
|
|
11
|
+
tweet.oauth_token = "my_oauth_token"
|
|
12
|
+
tweet.oauth_token_secret = "my_oauth_token_secret"
|
|
13
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Rackspace Cloud Files [Storage]
|
|
3
|
+
#
|
|
4
|
+
store_with CloudFiles do |cf|
|
|
5
|
+
cf.api_key = 'my_api_key'
|
|
6
|
+
cf.username = 'my_username'
|
|
7
|
+
cf.container = 'my_container'
|
|
8
|
+
cf.segments_container = 'my_segments_container' # must be different than `container`
|
|
9
|
+
cf.segment_size = 5 # MiB
|
|
10
|
+
cf.path = 'path/to/backups' # path within the container
|
|
11
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
##
|
|
2
|
+
# Dropbox [Storage]
|
|
3
|
+
#
|
|
4
|
+
# Your initial backup must be performed manually to authorize
|
|
5
|
+
# this machine with your Dropbox account. This authorized session
|
|
6
|
+
# will be stored in `cache_path` and used for subsequent backups.
|
|
7
|
+
#
|
|
8
|
+
store_with Dropbox do |db|
|
|
9
|
+
db.api_key = "my_api_key"
|
|
10
|
+
db.api_secret = "my_api_secret"
|
|
11
|
+
# Sets the path where the cached authorized session will be stored.
|
|
12
|
+
# Relative paths will be relative to ~/Backup, unless the --root-path
|
|
13
|
+
# is set on the command line or within your configuration file.
|
|
14
|
+
db.cache_path = ".cache"
|
|
15
|
+
# :app_folder (default) or :dropbox
|
|
16
|
+
db.access_type = :app_folder
|
|
17
|
+
db.path = "/path/to/my/backups"
|
|
18
|
+
db.keep = 25
|
|
19
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
##
|
|
2
|
+
# FTP (File Transfer Protocol) [Storage]
|
|
3
|
+
#
|
|
4
|
+
store_with FTP do |server|
|
|
5
|
+
server.username = "my_username"
|
|
6
|
+
server.password = "my_password"
|
|
7
|
+
server.ip = "123.45.678.90"
|
|
8
|
+
server.port = 21
|
|
9
|
+
server.path = "~/backups/"
|
|
10
|
+
server.keep = 5
|
|
11
|
+
server.passive_mode = false
|
|
12
|
+
end
|