%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /scripts/
Upload File :
Create Path :
Current File : //scripts/cpanelsync_postprocessor

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/cpanelsync_postprocessor        Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use Cpanel::Binaries ();
use Cpanel::LoadFile ();

my $saferoot = $ARGV[0];

if ( $saferoot =~ /^\/usr\/local\/cpanel$/ ) {
    if ( -e $saferoot . '/.cpanelsync.new' && -s _ ) {
        my $newfiles = Cpanel::LoadFile::loadfile( $saferoot . '/.cpanelsync.new' );
        my @OPT      = ();
        if ( $newfiles =~ /Cpanel/ )      { push @OPT, '/usr/local/cpanel/Cpanel'; }
        if ( $newfiles =~ /unprotected/ ) { push @OPT, '/usr/local/cpanel/base/unprotected'; }
        if ( $newfiles =~ /yui/ )         { push @OPT, '/usr/local/cpanel/base/yui'; }
        if ( $newfiles =~ /cjt/ )         { push @OPT, '/usr/local/cpanel/base/cjt'; }

        _chattr(@OPT) if (@OPT);
    }
}
if ( $saferoot =~ /^\/(?:scripts|usr\/local\/cpanel\/bin|usr\/local\/cpanel\/bin)$/ ) {
    if ( -e $saferoot . '/.cpanelsync.new' && -s _ ) {
        _chattr($saferoot);
    }
}
elsif ( $saferoot =~ /^\/usr\/local\/cpanel\/base\/frontend/ ) {
    if ( -e $saferoot . '/.cpanelsync.new' && -s _ ) {

        _chattr($saferoot);
    }
}

sub _chattr {
    my @dirs       = @_;
    my $chattr_bin = Cpanel::Binaries::path('chattr');
    -x $chattr_bin or exit;
    print "Optimizing File Access in " . join( ',', @dirs ) . "....";
    system $chattr_bin, '-R', '+A', @dirs;
    print "Done\n";
}

Zerion Mini Shell 1.0