Current Path : /scripts/ |
|
Current File : //scripts/set_mailman_archive_perms |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - set_mailman_archive_perms Copyright 2013 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use warnings;
use Cpanel::Mailman::Perms ();
use Cpanel::ProcessCheck ();
use Cpanel::IONice ();
use Cpanel::CloseFDs ();
use Cpanel::Sys::Setsid::Fast ();
__PACKAGE__->script(@ARGV) unless caller();
sub script {
my (@args) = @_;
my %pids = Cpanel::ProcessCheck::previouspids( 'process' => 'set_mailman_archive_perms' );
if ( scalar keys %pids ) {
print "[$0] Terminating previous running copies with pids: " . join( ', ', keys %pids ) . ".\n";
kill 9, keys %pids;
}
if ( Cpanel::IONice::ionice( 'best-effort', 6 ) ) {
print "[$0] Setting I/O priority to reduce system load: " . Cpanel::IONice::get_ionice() . "\n";
}
setpriority( 0, 0, 19 ); # nice 19
print "[$0] Setting mailman archive permissions\n";
if ( grep ( m/-+background/, @args ) ) {
print "[$0] Continuing in the background\n";
if ( fork() ) { exit(); }
open( STDERR, '>>', '/usr/local/cpanel/logs/error_log' ) || warn "Failed to open /usr/local/cpanel/logs/error_log: $!";
Cpanel::Sys::Setsid::Fast::fast_setsid();
Cpanel::CloseFDs::fast_daemonclosefds();
}
my $perms_obj = Cpanel::Mailman::Perms->new();
# Set the outer archive directory permissions
$perms_obj->set_perms();
# Set per-list permissions
if ( $perms_obj->set_archive_perms() ) {
exit(0);
}
exit(1);
}
1;
Copyright 2K16 - 2K18 Indonesian Hacker Rulez