JFIF$        dd7 

Viewing File: /usr/local/cpanel/scripts/updateuserdatacache

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

# cpanel - scripts/updateuserdatacache             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

# ignore our parent if it dies as this could result in
# a blank userdatadomains files
$SIG{'HUP'} = 'IGNORE';
$SIG{'INT'} = 'IGNORE';

use strict;
use warnings;

use Getopt::Long                          ();
use Digest::MD5                           ();    #speed up loading config
use Cpanel::Config::userdata::UpdateCache ();
use Cpanel::Logger                        ();

my $logger = Cpanel::Logger->new();

if ( $> != 0 ) {
    $logger->die("This program can only be run as root");
}

my ( $collect, $force, $help );
if (
    !Getopt::Long::GetOptions(
        "collect!" => \$collect,
        "force!"   => \$force,
        "help!"    => \$help
    )
) {
    print_usage();
    $logger->die("Invalid command line options");
}

if ($help) {
    print_usage();
    exit();
}

my @users = @ARGV;
my $args  = { 'force' => $force, 'collect' => $collect };

if (@users) {
    eval { Cpanel::Config::userdata::UpdateCache::update( @users, $args ) };
}
else {
    eval { Cpanel::Config::userdata::UpdateCache::update_all_users($args) };
}
if ($@) {
    $logger->warn("An error occurred in building the userdata cache: $@");
}

exit();

sub print_usage {
    print <<"USAGE";

$0 [ options ] [ usernames ... ]

    Generates the userdata cache file for the specified users (or *all* users
    if none are specified) in /var/cpanel/userdata/USERNAME/cache, if any
    changes have been made for that user since the last time the cache file was
    generated; and if any user caches were udpated, concatenate all the users'
    cache files into one central file, /etc/userdatadomains.

    Options:

        --force     Force the regeneration of the specified user cache file(s)
                    (or all user cache files, if run without arguments), even
                    if nothing has changed since the last time the cache was
                    generated

        --collect   Force the concatenation of individual users' cache files
                    into the central cache, even if nothing has changed; if
                    run without arguments, *only* the concatenation will be
                    performed (such as when deleting an account).

USAGE
}
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg