%PDF- %PDF-
Mini Shell

Mini Shell

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

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

# cpanel - scripts/restartsrv_syslogd              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::RestartSrv       ();
use Cpanel::RestartSrv::Lock ();
use Cpanel::Chkservd::Tiny   ();
use Cpanel::OS               ();
use Cpanel::Exception        ();

eval {
    local $SIG{'__DIE__'};
    require Cpanel::Rlimit;
    Cpanel::Rlimit::set_rlimit_to_infinity();
};

Cpanel::RestartSrv::setuppath();

my ( $action, $check, $status ) = Cpanel::RestartSrv::parseargv();

my $service = 'syslogd';

if ( !Cpanel::OS::supports_syslogd() ) {
    die Cpanel::Exception::create( 'Services::Deprecated', [ service => $service ] )->to_string . "\n";
}

my $processowner = 'root';
my $disabled     = scalar grep { Cpanel::RestartSrv::is_service_disabled($_) } qw(syslog syslogd);

if ( $action && !$disabled ) {

    my $iscript;
    foreach my $init_file ( 'syslog', 'rsyslog' ) {
        $iscript = Cpanel::RestartSrv::getinitfile($init_file);
        last if $iscript;
    }

    # If the init script is missing, there are likely bigger problems, so fail generically.
    die Cpanel::Exception::create( 'Services::RestartFailed', 'The system failed to restart “[_1]”.', [$service] )->to_string . "\n" unless $iscript;

    my $lock = Cpanel::RestartSrv::Lock->new($service);

    Cpanel::Chkservd::Tiny::suspend_service( $service, 60 );
    Cpanel::RestartSrv::nooutputsystem( $iscript, 'stop' );
    Cpanel::RestartSrv::doomedprocess($service);
    if ( $action != $Cpanel::RestartSrv::STOP ) {
        Cpanel::RestartSrv::logged_startup( $service, 1, [ $iscript, 'start' ] );
    }

    $lock->release() if $lock;

}
elsif ($status) {

    #--status (show ps)
    if ($disabled) {
        print "$service is disabled\n";
    }
    else {
        print Cpanel::RestartSrv::check_service( 'service' => $service, 'user' => $processowner, 'regex' => qr/\b$service\b/, 'pidfile' => '/var/run/syslogd.pid' );
    }
}
elsif ($check) {
    exit if ($disabled);
    if ( Cpanel::RestartSrv::check_service( 'service' => $service, 'user' => $processowner, 'regex' => qr/\b$service\b/, 'pidfile' => '/var/run/syslogd.pid' ) eq '' ) {
        print "$service is not running\n";
    }
}

Zerion Mini Shell 1.0