techinform 1.4.5 → 1.4.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/techinform/version.rb +1 -1
- data/lib/techinform.rb +12 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e2242e5acacb90720dcb7ee5aca8a8cedeb471f3a08bb5db31f11d6b74234f4
|
4
|
+
data.tar.gz: 68f6052ae5f497297c5ad445435b6821f87a1ca383fc2e68b1f1883b28e63492
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 843e5ce4e47a9465c8dda7c9279f727783d7e6bec955ba3a44bfd2d5447295df51df2b1ea6422b4f9c2b87b4026e4522426ba71a4b8949ea08ef4f5887107b58
|
7
|
+
data.tar.gz: cefe3d6f93a9f12ba4ebc756aa40f91cf249a449fa8d249b3de1833b5d03a566a570e7e19e5e32097fb7b576d25810bf702f4b0b5d97e6812e0a595ae26b04eb
|
data/lib/techinform/version.rb
CHANGED
data/lib/techinform.rb
CHANGED
@@ -6,7 +6,7 @@ require 'thor'
|
|
6
6
|
module Techinform
|
7
7
|
class CLI < Thor
|
8
8
|
desc 'restore [type] [absolute_filename or database to select file] [dbname]', 'Restore database from backup; if no absolute filename given, will present select menu to choose file'
|
9
|
-
def restore(type, filename, dbname)
|
9
|
+
def restore(type, filename, dbname, just_decrypt = false)
|
10
10
|
require 'highline'
|
11
11
|
if !File.exist?(filename)
|
12
12
|
cli = HighLine.new
|
@@ -16,14 +16,18 @@ module Techinform
|
|
16
16
|
encrypted = filename.split('.').last == 'gpg'
|
17
17
|
if type == 'pg'
|
18
18
|
puts "Restoring postgres backup to database #{dbname}..."
|
19
|
-
if encrypted
|
19
|
+
if encrypted && just_decrypt
|
20
|
+
`gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
|
21
|
+
elsif encrypted
|
20
22
|
`gpg2 --decrypt #{filename} | pv --wait | psql #{dbname} > /dev/null`
|
21
23
|
else
|
22
24
|
`tar -xOf #{filename} | bunzip2 | pv | psql #{dbname} > /dev/null`
|
23
25
|
end
|
24
26
|
else
|
25
27
|
puts "Restoring mysql backup to database #{dbname}..."
|
26
|
-
if encrypted
|
28
|
+
if encrypted && just_decrypt
|
29
|
+
`gpg2 --decrypt #{filename} | pv --wait | bzip2 > #{File.basename(filename, '.*')}`
|
30
|
+
elsif encrypted
|
27
31
|
`gpg2 --decrypt #{filename} | pv --wait | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
|
28
32
|
else
|
29
33
|
`tar -xOf #{filename} | bunzip2 | pv | mysql #{"-u#{ENV['USER']}" if !ENV['USER'].nil?} #{"-p#{ENV['PASSWORD']}" if !ENV['PASSWORD'].nil?} #{dbname}`
|
@@ -31,6 +35,11 @@ module Techinform
|
|
31
35
|
end
|
32
36
|
end
|
33
37
|
|
38
|
+
desc 'decrypt [type] [absolute_filename or database to select file]', 'Decrypt file from backup; if no absolute filename given, will present select menu to choose file'
|
39
|
+
def decrypt(type, filename)
|
40
|
+
restore(type, filename, nil, true)
|
41
|
+
end
|
42
|
+
|
34
43
|
desc 'deploy [project]', 'Deploy specific project'
|
35
44
|
def deploy(project)
|
36
45
|
`cd ~/projects/#{project} && git pull origin master && bundle install && cap production deploy`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: techinform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Chernikov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|