Samstag, 21. Oktober 2017

Data Retention mit Chef am Beispiel von Freeradius

Ich weis , folgendes Problem , kann unter Linux einfacher gelöst werden , aber ist auch eine gute Übung um mit Chef etwas vertrauter zu werden.

Ziel ist es Logdaten nach einem gewissen Zeitraum zu löschen . Ist Chef Installiert kann dieses Script sehr einfach auf jeden Server ausgeführt werden. Auch von Kollegen die , die Logverzeichnisse der installierten Services vielleicht nicht kennen.

Folgenden Inhalt in ein default.rb kopieren:

#
# Cookbook Name:: radius-logfile-delete
# Recipe:: default
#
# cc 2017, Roland Stumpner
#
#
log 'remove old radius log files'
#::Dir['/var/log/radius/radacct/**/*auth*'].each { |f| ::FileUtils.rm_rf(f) if ::File.stat(f).ctime < (Time.now - 60*60*24*7) }


Dir['/var/log/radius/radacct/**/*auth*'].each do |path|
  file path do
   backup false
   action :delete
   only_if { ::File.stat(path).ctime < (Time.now - 60*60*24*30) }
 end
end


Dir['/var/log/radius/radacct/**/*reply*'].each do |path|
  file path do
    backup false
    action :delete
    only_if { ::File.stat(path).ctime < (Time.now - 60*60*24*30) }
  end
end


Starten mit Chef Apply: chef-apply default.rb

Keine Kommentare:

Kommentar veröffentlichen