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 +4 -4
- data/.ruby-version +1 -1
- data/lib/backup/backup.rb +5 -1
- data/lib/backup/db_backup.rb +0 -36
- data/lib/backup/files_backup.rb +25 -0
- data/lib/techinform/backup.rb +8 -2
- data/lib/techinform/version.rb +1 -1
- metadata +3 -3
- data/lib/backup/etc_backup.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 982f80834a27d59d06f53151288b90e17fc874994520dad6b970e2916fa747d8
|
4
|
+
data.tar.gz: d809f949a48c583710416d686e980348433be89585241ace121c4342b15b4165
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8dec9afb688a0c671b1f77886eeb33f33fb04ce94ce313f91fd3a5156eaa7f57727c49dc1d4be4c70083da7dec27518b02b6714a38d31415e2d3d6c9b8593d35
|
7
|
+
data.tar.gz: a4f43b84f25fabe4e21de5ecc2ef43e139003ed17d24a13b4f19546ff0a58b40a8f3a454f00f4bef8f5091c788e97928c74e465a4df9f9e9b8349fa8fbd5543d
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.5.
|
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
|
-
"#{
|
36
|
+
"#{backup_type_filename}-#{DateTime.now.strftime(DATE_FORMAT)}.#{filename_extension}"
|
33
37
|
end
|
34
38
|
|
35
39
|
def filename_extension(base = 'tar')
|
data/lib/backup/db_backup.rb
CHANGED
@@ -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
|
data/lib/techinform/backup.rb
CHANGED
@@ -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/
|
40
|
-
|
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'
|
data/lib/techinform/version.rb
CHANGED
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
|
+
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-
|
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/
|
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
|