#!/usr/bin/perl
use strict;
use warnings;

my $purge_time = 1201789811;
chmod( 0600, '/var/cpanel/accounting.log' );
chmod_dir_files( '/var/cpanel',            '\.accts$' );
chmod_dir_files( '/var/cpanel',            '\.db$' );
chmod_dir_files( '/var/cpanel',            'pass$' );
chmod_dir_files( '/usr/local/cpanel/logs', '.*' );
chmod( 0700, '/usr/local/cpanel/logs/cpbackup' );
chmod_dir_files( '/usr/local/cpanel/logs/cpbackup', '.*' );
chmod( 0700, '/usr/local/cpanel/logs/easy' );
chmod_dir_files( '/usr/local/cpanel/logs/easy', '.*' );
kill_old_files( '/usr/local/cpanel/logs/easy', $purge_time );
chmod( 0700, '/usr/local/cpanel/logs/easy/apache' );
chmod_dir_files( '/usr/local/cpanel/logs/easy/apache', '.*' );
kill_old_files( '/usr/local/cpanel/logs/easy/apache', $purge_time );

sub kill_old_files {
    my ( $dir, $ptime ) = @_;

    if ( opendir( my $dir_dh, $dir ) ) {

        while ( my $acctf = readdir($dir_dh) ) {
            if ( $acctf =~ /(\d+)/ ) {
                if ( $1 > 1000000000 && $1 < $ptime ) {
                    unlink( $dir . '/' . $acctf );
                }
            }

        }

        closedir($dir_dh);
    }

}

sub chmod_dir_files {
    my ( $dir, $regex ) = @_;

    if ( opendir( my $dir_dh, $dir ) ) {

        while ( my $acctf = readdir($dir_dh) ) {

            next if ( !-f $dir . '/' . $acctf || $acctf !~ m/$regex/ );
            chmod( 0600, $dir . '/' . $acctf );

        }

        closedir($dir_dh);
    }
}

