Module: Backup::Utilities
- Defined in:
- lib/backup/utilities.rb
Defined Under Namespace
Modules: DSL, Helpers Classes: Error
Constant Summary collapse
- UTILITY =
{}
- NAMES =
%w{ tar cat split sudo chown hostname gzip bzip2 mongo mongodump mysqldump innobackupex pg_dump pg_dumpall redis-cli riak-admin gpg openssl rsync ssh sendmail exim send_nsca zabbix_sender }
Class Method Summary collapse
-
.configure(&block) ⇒ Object
Configure the path to system utilities used by Backup.
- .gnu_tar? ⇒ Boolean
- .tar_dist(val) ⇒ Object
Class Method Details
.configure(&block) ⇒ Object
Configure the path to system utilities used by Backup.
Backup will attempt to locate any required system utilities using a which
command call. If a utility can not be found, or you need to specify an alternate path for a utility, you may do so in your config.rb
file using this method.
Backup supports both GNU and BSD utilities. While Backup uses these utilities in a manner compatible with either version, the tar
utility requires some special handling with respect to Archives. Backup will attempt to detect if the tar
command found (or set here) is GNU or BSD. If for some reason this fails, this may be set using the tar_dist
command shown below.
Backup::Utilities.configure do
# General Utilites
tar '/path/to/tar'
tar_dist :gnu # or :bsd
cat '/path/to/cat'
split '/path/to/split'
sudo '/path/to/sudo'
chown '/path/to/chown'
hostname '/path/to/hostname'
# Compressors
gzip '/path/to/gzip'
bzip2 '/path/to/bzip2'
# Database Utilities
mongo '/path/to/mongo'
mongodump '/path/to/mongodump'
mysqldump '/path/to/mysqldump'
pg_dump '/path/to/pg_dump'
pg_dumpall '/path/to/pg_dumpall'
redis_cli '/path/to/redis-cli'
riak_admin '/path/to/riak-admin'
# Encryptors
gpg '/path/to/gpg'
openssl '/path/to/openssl'
# Syncer and Storage
rsync '/path/to/rsync'
ssh '/path/to/ssh'
# Notifiers
sendmail '/path/to/sendmail'
exim '/path/to/exim'
send_nsca '/path/to/send_nsca'
zabbix_sender '/path/to/zabbix_sender'
end
These paths may be set using absolute paths, or relative to the working directory when Backup is run.
104 105 106 |
# File 'lib/backup/utilities.rb', line 104 def configure(&block) DSL.instance_eval(&block) end |
.gnu_tar? ⇒ Boolean
113 114 115 116 |
# File 'lib/backup/utilities.rb', line 113 def gnu_tar? return @gnu_tar unless @gnu_tar.nil? @gnu_tar = !!run("#{ utility(:tar) } --version").match(/GNU/) end |
.tar_dist(val) ⇒ Object
108 109 110 111 |
# File 'lib/backup/utilities.rb', line 108 def tar_dist(val) # the acceptance tests need to be able to reset this to nil @gnu_tar = val.nil? ? nil : val == :gnu end |