Module: Compresslog

Defined in:
lib/compresslog.rb

Class Method Summary collapse

Class Method Details

.backup_is_needed?Boolean

Returns:

  • (Boolean)


5
6
7
8
# File 'lib/compresslog.rb', line 5

def Compresslog.backup_is_needed?
  dir = Dir.entries("#{Rails.root.join("log")}").grep /^#{Rails.env}.log./
  return !dir.empty?
end

.log_compressObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/compresslog.rb', line 10

def Compresslog.log_compress
  data = Time.new.strftime("%Y%m%d_%H%M%S")
  folder = Rails.root.join("log")
  input_filenames = Dir.entries("#{folder}").grep /^#{Rails.env}.log./
  zipfile_name = "#{folder}/#{data}.zip"

  Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile|
    input_filenames.each do |filename|
	zipfile.add(filename, "#{folder}/#{filename}")
    end
    zipfile.get_output_stream("README") { |os| os.write "O backup, dos logs, foi realizado com sucesso em: #{Time.now}" }
  end
end

.log_compress_full(list_name = []) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/compresslog.rb', line 36

def Compresslog.log_compress_full (list_name=[])
  list_name << Rails.env
  list_name.each do |name|
    data = Time.new.strftime("%Y%m%d_%H%M%S")
    folder = Rails.root.join("log")
    input_filenames = Dir.entries("#{folder}").grep /^#{name}.log./
    zipfile_name = "#{folder}/#{data}-#{name}.zip"
    unless (input_filenames.empty?)
	Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile|
 input_filenames.each do |filename|
   zipfile.add(filename, "#{folder}/#{filename}")
 end
 zipfile.get_output_stream("README") { |os| os.write "O backup, dos logs, foi realizado com sucesso em: #{Time.now}" }
	end

	input_filenames.each do |i|
 File.delete("#{folder}/#{i}")
	end
    else
	"backup desnecessário"
    end
  end
end

.log_deleteObject



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/compresslog.rb', line 24

def Compresslog.log_delete

  data = Time.new.strftime("%Y%m%d_%H%M%S")
  folder = Rails.root.join("log")
  input_filenames = Dir.entries("#{folder}").grep /^#{Rails.env}.log./
  zipfile_name = "#{folder}/#{data}.zip"

  input_filenames.each do |i|
    File.delete("#{folder}/#{i}")
  end
end