techinform 1.2.2 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c63c8438bf1e6d54431111e44d43d1dd966629d1094e99de30b6248c68874bd
4
- data.tar.gz: 14ed136ea188bcde20277c34d1d50a2cbdf7607fd0e3513cbf57936c46efc46d
3
+ metadata.gz: 982f80834a27d59d06f53151288b90e17fc874994520dad6b970e2916fa747d8
4
+ data.tar.gz: d809f949a48c583710416d686e980348433be89585241ace121c4342b15b4165
5
5
  SHA512:
6
- metadata.gz: 6d3982448c3e16211eb75060719df076834482eda712ac6214d2be6707a8a0b5c7014ecb15a9b8e9015244efe519d0fbf1bd3a308250a5b5a9d1a9317bffac9a
7
- data.tar.gz: 508abdfe5a74a2004f7edc416eb68f0f76febad6198423737ad0eec215f81af1a52f3082748ccdff06978b1de1b9db76dc22a46167d85a59bca4ebfa381bfe14
6
+ metadata.gz: 8dec9afb688a0c671b1f77886eeb33f33fb04ce94ce313f91fd3a5156eaa7f57727c49dc1d4be4c70083da7dec27518b02b6714a38d31415e2d3d6c9b8593d35
7
+ data.tar.gz: a4f43b84f25fabe4e21de5ecc2ef43e139003ed17d24a13b4f19546ff0a58b40a8f3a454f00f4bef8f5091c788e97928c74e465a4df9f9e9b8349fa8fbd5543d
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.1
1
+ 2.5.5
data/lib/backup/backup.rb CHANGED
@@ -28,8 +28,12 @@ class Backup
28
28
  self.class.to_s.gsub('Backup', '').downcase
29
29
  end
30
30
 
31
+ def backup_type_filename
32
+ backup_type
33
+ end
34
+
31
35
  def filename
32
- "#{backup_type}-#{DateTime.now.strftime(DATE_FORMAT)}.#{filename_extension}"
36
+ "#{backup_type_filename}-#{DateTime.now.strftime(DATE_FORMAT)}.#{filename_extension}"
33
37
  end
34
38
 
35
39
  def filename_extension(base = 'tar')
@@ -22,40 +22,4 @@ class DbBackup < Backup
22
22
  def restore_path
23
23
  "#{Techinform::BACKUPS_ALL_PREFIX}/backups/#{backup_type}/#{database}"
24
24
  end
25
-
26
- def filepath
27
- "#{path}/#{filename}"
28
- end
29
-
30
- def ensure_path
31
- `mkdir -p #{path}`
32
- end
33
-
34
- def clean_files
35
- result = {} # true - delete file, false - do not delete
36
- months_taken = []
37
- days_taken = []
38
- files = Dir.entries(path) - ['.', '..']
39
- files.each do |file|
40
- datetime = get_datetime_from_filename(file)
41
- day_id = datetime.strftime('%Y-%m-%d')
42
- month_id = datetime.strftime('%Y-%m')
43
- if datetime < (DateTime.now << 2) # 1 month ago
44
- if datetime.day == 1 && !(months_taken.include? month_id)
45
- result[file] = false
46
- months_taken << month_id
47
- else
48
- result[file] = true
49
- end
50
- elsif datetime < DateTime.now - 14 # 2 weeks ago
51
- if [1, 7, 14, 21].include?(datetime.day) && !(days_taken.include?(day_id))
52
- result[file] = false
53
- days_taken << day_id
54
- else
55
- result[file] = true
56
- end
57
- elsif days_taken.includ
58
- end
59
- end
60
- end
61
25
  end
@@ -0,0 +1,25 @@
1
+ require_relative 'backup'
2
+
3
+ class FilesBackup < Backup
4
+ attr_reader :files_backup
5
+
6
+ def initialize files_backup = '/etc'
7
+ @files_backup = files_backup
8
+ end
9
+
10
+ def print_info
11
+ puts "Run #{files_backup} backup to #{filepath}..."
12
+ end
13
+
14
+ def backup_type_filename
15
+ files_backup.sub(/^\//, '').gsub('/', '_')
16
+ end
17
+
18
+ def path
19
+ "#{Techinform::BACKUPS_LOCAL_PREFIX}/#{backup_type}/#{backup_type_filename}"
20
+ end
21
+
22
+ def backup_command
23
+ "tar -c #{files_backup}"
24
+ end
25
+ end
@@ -34,10 +34,16 @@ module Techinform
34
34
  dbs
35
35
  end
36
36
 
37
+ desc 'files', 'Files backup'
38
+ def files(files_backup='/etc')
39
+ require_relative '../../lib/backup/files_backup'
40
+ FilesBackup.new(files_backup).run
41
+ end
42
+
37
43
  desc 'etc', 'Backup of /etc folder'
38
44
  def etc
39
- require_relative '../../lib/backup/etc_backup'
40
- EtcBackup.new.run
45
+ require_relative '../../lib/backup/files_backup'
46
+ FilesBackup.new('/etc').run
41
47
  end
42
48
 
43
49
  desc 'sync [server] [type] [ipaddr | dnsname]', 'Sync backups from remote server'
@@ -1,3 +1,3 @@
1
1
  module Techinform
2
- VERSION = "1.2.2"
2
+ VERSION = "1.3.0"
3
3
  end
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.2.2
4
+ version: 1.3.0
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-05-30 00:00:00.000000000 Z
11
+ date: 2019-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -101,7 +101,7 @@ files:
101
101
  - exe/ti
102
102
  - lib/backup/backup.rb
103
103
  - lib/backup/db_backup.rb
104
- - lib/backup/etc_backup.rb
104
+ - lib/backup/files_backup.rb
105
105
  - lib/backup/mysql_backup.rb
106
106
  - lib/backup/postgre_backup.rb
107
107
  - lib/techinform.rb
@@ -1,11 +0,0 @@
1
- require_relative 'backup'
2
-
3
- class EtcBackup < Backup
4
- def print_info
5
- puts "Run etc backup to #{filepath}..."
6
- end
7
-
8
- def backup_command
9
- 'tar -c /etc'
10
- end
11
- end