From a2d2b22863bcfaeaca36603754593177aee5c461 Mon Sep 17 00:00:00 2001 From: nqb Date: Mon, 4 Jul 2022 17:05:56 +0200 Subject: [PATCH] add upgrade script --- addons/upgrade/to-12.0-rename-log-files.pl | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100755 addons/upgrade/to-12.0-rename-log-files.pl diff --git a/addons/upgrade/to-12.0-rename-log-files.pl b/addons/upgrade/to-12.0-rename-log-files.pl new file mode 100755 index 000000000000..0f8c1c530a40 --- /dev/null +++ b/addons/upgrade/to-12.0-rename-log-files.pl @@ -0,0 +1,91 @@ +#!/usr/bin/perl + +=head1 NAME + +to-12.0-rename-log-files.pl + +=head1 DESCRIPTION + +Rename log files defined in logs= in syslog.conf + +=cut + +use strict; +use warnings; +use lib qw(/usr/local/pf/lib /usr/local/pf/lib_perl/lib/perl5); +use pf::util; +use pf::IniFiles; +use pf::constants::config; +use pf::file_paths qw( + $conf_dir + $syslog_config_file +); +use List::MoreUtils qw(any); + +run_as_pf(); + +my %remap = ( + 'mariadb_error.log' => 'mariadb.log', + 'httpd.aaa.access' => 'httpd.apache', + 'httpd.aaa.error' => 'httpd.apache', + 'httpd.collector.log' => 'httpd.apache', + 'httpd.collector.error' => 'httpd.apache', + 'httpd.portal.error' => 'httpd.apache', + 'httpd.portal.access' => 'httpd.apache', + 'httpd.portal.catalyst' => 'httpd.apache', + 'httpd.proxy.error' => 'httpd.apache', + 'httpd.proxy.access' => 'httpd.apache', + 'httpd.webservices.error' => 'httpd.apache', + 'httpd.webservices.access' => 'httpd.apache', + 'httpd.api-frontend.access' => 'httpd.apache', +); + +my $ini = pf::IniFiles->new( -file => $syslog_config_file, -allowempty => 1); +my $i = 0; + +for my $section ($ini->Sections()) { + if (my $logs = $ini->val($section, 'logs')) { + $logs = [ split(/,/, $logs) ]; + + if(any {exists $remap{$_}} @$logs) { + print "Renaming log files in section $section in file $syslog_config_file\n"; + $logs = [ map { exists($remap{$_}) ? $remap{$_} : $_ } @$logs ]; + $ini->setval($section, 'logs', join(',', @$logs)); + $i |= 1; + } + } +} +if ($i) { + $ini->RewriteConfig(); + print "All done\n"; +} else { + print "Nothing to be done\n"; +} + +=head1 AUTHOR + +Inverse inc. + +=head1 COPYRIGHT + +Copyright (C) 2005-2022 Inverse inc. + +=head1 LICENSE + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA. + +=cut +