\!/ KyuuKazami \!/

Path : /scripts/
Upload :
Current File : //scripts/fixrelayd

#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel12 - fixrelayd                       Copyright(c) 1997-2006 cPanel, Inc.
#                                                           All Rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

foreach my $file ( '/etc/syslog.conf', '/etc/rsyslog.conf' ) {
    next if !-e $file;
    my $logger = ( split /\//, $file )[-1];
    my $script = ( split /\./, $logger )[0];

    my $line_exists = 0;
    if ( open my $read_fh, '<', $file ) {    # don't die because you want it to keep going
        $line_exists = grep /local0\.notice\;local0\.debug\;mail\.\*\;mail\.none\;mail\.info\;local0\.info\s+\/var\/log\/maillog/, <$read_fh>;
        close $read_fh;

        if ( !$line_exists ) {
            if ( open my $write_fh, '>>', $file ) {    # don't die because you want it to keep going
                print {$write_fh} "local0.notice;local0.debug;mail.*;mail.none;mail.info;local0.info /var/log/maillog\n";
                close $write_fh;
            }
            else {
                print "Warn: could not add entry to $logger\n";
            }
        }
        else {
            print "Warn: duplicate entry in $logger $line_exists times\n" if $line_exists > 1;
        }
    }
    else {
        print "Could not check $logger\n";
    }
    system( "/etc/rc.d/init.d/$script", 'restart' );
}

@KyuuKazami