dreamback 0.0.3 → 0.0.4
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.
- data/lib/dreamback/backup.rb +5 -1
- data/lib/dreamback/base.rb +1 -1
- data/lib/dreamback/initializer.rb +4 -2
- data/lib/dreamback/version.rb +1 -1
- metadata +4 -4
data/lib/dreamback/backup.rb
CHANGED
@@ -58,6 +58,7 @@ module Dreamback
|
|
58
58
|
|
59
59
|
# This uses a hack where we sync an empty directory to remove files
|
60
60
|
# We do this because sftp has no recursive delete method
|
61
|
+
# @params [Array[String]] list of backup directories
|
61
62
|
def self.rsync_delete(directories)
|
62
63
|
empty_dir_path = File.expand_path("../.dreamback_empty_dir", __FILE__)
|
63
64
|
empty_dir = Dir.mkdir(empty_dir_path) unless File.exists?(empty_dir_path)
|
@@ -77,6 +78,9 @@ module Dreamback
|
|
77
78
|
# @param [String] name of the most recent backup folder prior to starting this run to link against
|
78
79
|
def self.rsync_backup(link_dir)
|
79
80
|
tmp_dir_path = "~/.dreamback_tmp"
|
81
|
+
user_exclusions_path = File.expand_path("~/.dreamback_exclusions")
|
82
|
+
default_exclusions_path = File.expand_path("../exclusions.txt", __FILE__)
|
83
|
+
exclusions_path = File.exists?(user_exclusions_path) ? user_exclusions_path : default_exclusions_path
|
80
84
|
begin
|
81
85
|
backup_server_user = Dreamback.settings[:backup_server_user]
|
82
86
|
backup_server = Dreamback.settings[:backup_server]
|
@@ -88,7 +92,7 @@ module Dreamback
|
|
88
92
|
# rsync won't do remote<->remote syncing, so we stage everything here first
|
89
93
|
tmp_dir = File.expand_path(tmp_dir_path)
|
90
94
|
Dir.mkdir(tmp_dir) unless File.exists?(tmp_dir)
|
91
|
-
`rsync -e ssh -av --keep-dirlinks --copy-links #{user}@#{server}:~/ #{tmp_dir}/#{user}@#{server}`
|
95
|
+
`rsync -e ssh -av --keep-dirlinks --exclude-from #{exclusions_path} --copy-links #{user}@#{server}:~/ #{tmp_dir}/#{user}@#{server}`
|
92
96
|
# Now we can sync local to remote. Only use link-dest if a previous folder to link to exists.
|
93
97
|
link_dest = link_dir.nil? ? "" : "--link-dest=~#{BACKUP_FOLDER.gsub(".", "")}/#{link_dir}"
|
94
98
|
`rsync -e ssh -av --delete --copy-links --keep-dirlinks #{link_dest} #{tmp_dir}/ #{backup_server_user}@#{backup_server}:#{BACKUP_FOLDER}/dreamback.#{today}`
|
data/lib/dreamback/base.rb
CHANGED
@@ -25,7 +25,7 @@ module Dreamback
|
|
25
25
|
@settings = {}
|
26
26
|
|
27
27
|
# Walks a user through the initial setup process
|
28
|
-
def self.setup
|
28
|
+
def self.setup(direct = false)
|
29
29
|
# Check to see if settings exist
|
30
30
|
load_settings(SETTINGS_LOCATION)
|
31
31
|
|
@@ -34,7 +34,9 @@ module Dreamback
|
|
34
34
|
create_new_settings
|
35
35
|
save_settings(SETTINGS_LOCATION)
|
36
36
|
else
|
37
|
-
|
37
|
+
if direct
|
38
|
+
say(bold("You have already setup Dreamback. Please run \"dreamback backup\" to start a backup."))
|
39
|
+
end
|
38
40
|
end
|
39
41
|
|
40
42
|
# Create ssh keys if they don't exist
|
data/lib/dreamback/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dreamback
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Paul R Alexander
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-05-
|
18
|
+
date: 2012-05-30 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|