backupsss 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84877b8b75bdabc883f3be4c41d09a1caad32f51
4
- data.tar.gz: b43a5d76c1d291c39973e0c3da5d688768a4ad4d
3
+ metadata.gz: e188c88c729cebff877b177c50f6b87e9a570bbb
4
+ data.tar.gz: 853c193df4f897313ef3ef77a13ec00ae3a15616
5
5
  SHA512:
6
- metadata.gz: 7d1e1b4b6ee3568c3e572a68688b7c34efe516f2dbfaf5473764fa9164202f9ca423d13ba1a3cf983db3cd80dbb94070d82c07649976aeae566cb2caa8f86b4c
7
- data.tar.gz: 75a6564856a994a39e8db00023bbcc0f0792b9e569e81802b4c87382360a7d1ff1b2d993aadf4c5a4747c40a60c94f3ab5a3f7efdf99d3e97230846ec53bad56
6
+ metadata.gz: af5e3ff5f9c5e4269257294da0229d25f2a7d9f7bbe9066d6be43e87e281982583f3464d079116b8e8b08f33ef61ff3de7249521495bd4a46255c9629b751aa0
7
+ data.tar.gz: 22aff21ccfe7f0302384ccaa6f459bf2448ab9f8453e730a5a6f3008c988d58d1b3528d2a125a6385911836fc58c8200a6862629b65e8778f54d6efe41bb3510
data/backupsss.gemspec CHANGED
@@ -42,5 +42,5 @@ Gem::Specification.new do |spec|
42
42
 
43
43
  spec.add_runtime_dependency 'aws-sdk', '~> 2.7.0'
44
44
  spec.add_runtime_dependency 'parallel', '~> 1.10.0'
45
- spec.add_runtime_dependency 'rufus-scheduler', '~> 3.3.2'
45
+ spec.add_runtime_dependency 'rufus-scheduler', '3.4.0'
46
46
  end
data/exe/backupsss CHANGED
@@ -3,4 +3,4 @@
3
3
  require 'backupsss'
4
4
  $stdout.sync = true
5
5
  $stderr.sync = true
6
- Backupsss.run
6
+ Backupsss::Runner.new.run
@@ -40,7 +40,7 @@ module Backupsss
40
40
  end
41
41
 
42
42
  def throwout_nils(attrs)
43
- attrs.reject { |_, v| v.nil? }
43
+ attrs.reject { |k, v| v.nil? && k != :backup_freq }
44
44
  end
45
45
 
46
46
  def attrs
@@ -1,3 +1,3 @@
1
1
  module Backupsss
2
- VERSION = '0.3.2'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
data/lib/backupsss.rb CHANGED
@@ -10,11 +10,20 @@ require 'backupsss/configuration'
10
10
 
11
11
  # A utility for backing things up to S3.
12
12
  module Backupsss
13
- class << self
14
- def config
15
- @config ||= Backupsss::Configuration.new
13
+ # A Class for running this backup utility
14
+ class Runner
15
+ attr_accessor :config
16
+
17
+ def initialize
18
+ @config = Backupsss::Configuration.new
19
+ end
20
+
21
+ def run
22
+ config.backup_freq ? run_scheduled : run_oneshot
16
23
  end
17
24
 
25
+ private
26
+
18
27
  def call
19
28
  push_backup(*prep_for_backup)
20
29
  cleanup_local
@@ -63,17 +72,25 @@ module Backupsss
63
72
  remote_janitor.rm_garbage(remote_janitor.sift_trash)
64
73
  end
65
74
 
66
- def run
75
+ def run_scheduled
76
+ $stdout.puts "Schedule provided, running with #{config.backup_freq}"
77
+
67
78
  scheduler = Rufus::Scheduler.new
68
- scheduler.cron(config.backup_freq, blocking: true) do
69
- begin
70
- call
71
- rescue => exc
72
- $stderr.puts "ERROR - backup failed: #{exc.message}"
73
- $stderr.puts exc.backtrace.join("\n\t")
74
- end
75
- end
79
+ scheduler.cron(config.backup_freq, blocking: true) { make_call }
76
80
  scheduler.join
77
81
  end
82
+
83
+ def run_oneshot
84
+ $stdout.puts 'No Schedule provided, running one time task'
85
+
86
+ make_call
87
+ end
88
+
89
+ def make_call
90
+ call
91
+ rescue => exc
92
+ $stderr.puts "ERROR - backup failed: #{exc.message}"
93
+ $stderr.puts exc.backtrace.join("\n\t")
94
+ end
78
95
  end
79
96
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backupsss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reppard Walker
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-02-17 00:00:00.000000000 Z
13
+ date: 2017-04-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -198,16 +198,16 @@ dependencies:
198
198
  name: rufus-scheduler
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - "~>"
201
+ - - '='
202
202
  - !ruby/object:Gem::Version
203
- version: 3.3.2
203
+ version: 3.4.0
204
204
  type: :runtime
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - "~>"
208
+ - - '='
209
209
  - !ruby/object:Gem::Version
210
- version: 3.3.2
210
+ version: 3.4.0
211
211
  description: Backup any file or directory as a tar and push the tar to a specificed
212
212
  S3 bucket.
213
213
  email: