MSV FM

[email protected]: ~ $
Path : /proc/self/root/scripts/
File Upload :
Current < : //proc/self/root/scripts/dnscluster

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

# cpanel - scripts/dnscluster                      Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# [email protected]                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

BEGIN {
    pop(@INC) if ( $INC[$#INC] eq '.' );
}

$| = 1;

use strict;
use Cpanel::DnsUtils::Sync ();
use Cpanel::Usage          ();

if ( !@ARGV ) {
    show_usage();
}
Cpanel::Usage::usage( \@ARGV, \&show_usage );

if ( !-e '/var/cpanel/useclusteringdns' ) {
    print STDERR "DNS Clustering is not enabled\n";
    exit 1;
}

my $action    = $ARGV[0];
my $full_sync = ( grep( /^\-?-f/i, @ARGV ) ? 1 : 0 );

if ( $action eq 'synczonelocal' ) {
    my $zone = $ARGV[1];
    if ( !$zone ) {
        show_usage();
    }
    synczonelocal($zone);
}
elsif ( $action eq 'synczone' ) {
    my $zone = $ARGV[1];
    if ( !$zone ) {
        show_usage();
    }
    synczone($zone);
}
elsif ( $action eq 'syncall' ) {
    syncall($full_sync);
}
elsif ( $action eq 'syncalllocal' || $action eq 'synclocal' ) {
    syncalllocal($full_sync);
}
else {
    show_usage();
    exit 1;
}

sub synczone {
    my $domain = shift;
    print "Syncing $domain to all machines in cluster...";
    my ( $response, $err ) = Cpanel::DnsUtils::Sync::sync_zone($domain);
    print $err ? $err : $response;
    print "Done\n";
}

sub synczonelocal {
    my $domain = shift;
    print "Syncing $domain to local machine...";

    my ( $response, $err ) = Cpanel::DnsUtils::Sync::sync_zone_local($domain);
    print $err ? $err : $response;
    print "Done\n";
}

sub syncall {
    my $full_sync = shift;
    print "Syncing Zones to all machines in cluster....";

    my $user_domains_only = ( $full_sync ? 0 : 1 );
    if ( !$user_domains_only ) { print "(full)..."; }

    if ( my $pid = fork() ) {
        while ( waitpid( $pid, 1 ) != -1 ) {
            syswrite( STDOUT, '.' );
            select( undef, undef, undef, 0.1 );
        }
    }
    else {

        # The default is to sync all domains in the cluster
        # for consistancy with previous behavior
        # full (!user_domains_only) then send 0
        # !full (user_domains_only) then send 1
        #
        Cpanel::DnsUtils::Sync::sync_zones($user_domains_only);
        exit(0);
    }
    print "Done\n";
}

sub syncalllocal {
    my $full_sync = shift;
    print "Syncing Zones to local machine....";

    my $user_domains_only = ( $full_sync ? 0 : 1 );
    if ( !$user_domains_only ) { print "(full)..."; }

    if ( my $pid = fork() ) {
        while ( waitpid( $pid, 1 ) != -1 ) {
            syswrite( STDOUT, '.' );
            select( undef, undef, undef, 0.1 );
        }
    }
    else {

        # The default is to sync all domains in the cluster
        # for consistancy with previous behavior
        # full (!user_domains_only) then send 0
        # !full (user_domains_only) then send 1
        #
        Cpanel::DnsUtils::Sync::sync_zones_local($user_domains_only);
        exit(0);
    }
    print "Done\n";
}

sub show_usage {
    print <<'EOM';
Usage: dnscluster [ACTION] [OPTIONS]...

Examples:
   /usr/local/cpanel/scripts/dnscluster syncall --full               # Sync all zones (even ones not in /etc/userdomains)
   /usr/local/cpanel/scripts/dnscluster synczonelocal mydomain.org   # Sync mydomain.org to the local machine

Actions:
    syncall [--full] - make sure all dns zones are
       in sync within the cluster. If any zone files
       are out out of sync, the ones with the largest
       serial numbers will be copied to all servers.

    syncalllocal [--full] - make sure all dns zones are
       in sync within the cluster. If any zone files are
       out out of sync, the ones with the largest serial
       numbers will be copied to the local server only.

    synczone <zone> - sync one zone
       If the zone is out out of sync, the one with the largest
       serial number will be copied to all servers.

    synczonelocal <zone> - sync one zone
       If the zone is out out of sync, the one with the largest
       serial number will be copied to the local server.

Operation modifiers:
    -F, --full
       If the --full flag is specified then zones that are not
       local to this server (in /etc/userdomains) will be pulled
       in as well.  This was the default behavior prior to 11.24.5

Help:
    -H, --help (or no arguments)
       This will show this screen.

EOM
    exit;
}
Bethany
Bethany
0%

THE FINEST HOTEL NEAR LAKE KIVU

The Perfect Base For You

Required fields are followed by *





EC1A68011

About Us

Delicious Interior With The Pinch Of Everything

Bethany Investment group is Presbyterian church in Rwanda(EPR) company that manage Hotel and Guest house in Karongi (Bethany Hotel), ISANO branch in GIKONDO(Kigali), Kiyovu branch(Kigali), AMIZERO branch(Nyagatare-East) and Gisenyi Branch(Rubavu).

Accomodation

Get a Comfortable Room
Feel The Comfort

Get a comfortable room and feel our hotel’s comfort. Bethany Hotel features a variety of fully furnished rooms with extra space, Executive rooms, Deluxe rooms with a beautiful lake view and garden space, Deluxe rooms, comfort rooms, family rooms and standard rooms at your service.

Standard Single

Services

We Provide Top Class Facility
Especially For You

Beach BBQ Party

Kick back on the beach& and enjoy our berbecue from our masterchef

Breakfast

Kick back at our hotels& enjoy our breakfast from our masterchef

Conference Hall

Kick back at our hotels& enjoy our conference halls from all bethany branches

Enjoy with your partner

Honeymoon Package

80%

Get In Touch

Don’t Miss Any Update

    +

    Search your Room

    Required fields are followed by *