techinform 1.2.2 → 1.3.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
  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