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
         |