cPanel Oneliners using Cpanel Modules

  • Print virtualization type of the machine

    /usr/local/cpanel/3rdparty/bin/perl -Iblib/lib -Iblib/arch -McPanel::BIOS -MData::Dumper::Concise -E 'say Dumper({cPanel::BIOS::read_bios_data()}); say Dumper({cPanel::BIOS::read_hypervisor_data(0)})'
    
  • Print Distribution

    /usr/local/cpanel/3rdparty//bin/perl -MCpanel::OS -e 'my $dist = Cpanel::OS::distro();print("$dist\n");'
    
  • A complicated an unnecessary way to check if a server is nat.

    /usr/local/cpanel/3rdparty/bin/perl -MCpanel -MCpanel::NAT -E 'my $natcheck = Cpanel::NAT::is_nat(); if ($natcheck eq 1){say "Its Nat"}else{say "Not Nat" };'
    Its Nat
    
  • Some wp Squared function similar to wp-cli option to get wp-site options

    sudo -u cPanel_username /usr/local/cpanel/3rdparty/bin/perl -MCpanel::Binaries::WP -MData::Dumper -E'my $cli = Cpanel::Binaries::WP->new(domain => "wp_suqared_domain", user => "cPanel_User"); say Dumper $cli->get_option_list->data;' | egrep 'blogname|blogdescription|current_theme|template|siteurl|admin_email'
    
  • wp-toolkit option with wp-toolkit instance id. Downside is that the above prints all the data and this only 1 parameter

    wp-toolkit --wp-cli -instance-id 1 -- option get blogname
    Linux Space
    
  • Show database mysql version

/usr/local/cpanel/3rdparty/bin/perl -MCpanel::MysqlUtils -MData::Dumper -e 'print Dumper(Cpanel::MysqlUtils::Version::current_mysql_version());'
  • Get all IP locations for our update server.
  • Install geoiplookup
  • dnf install GeoIP GeoIP-data

    for ip in $(host httpupdate.cpanel.net | awk '{print $NF}');do printf "$ip -> " ; geoiplookup $ip;done
    
  • public IP cpanel

    ip addr | awk 'BEGIN {FS="[ \t/]+"} /inet .+global/ { print $3 }' | xargs -iIP sh -c "echo -n 'internal IP - external ';wget -O - -q --tries=1 --timeout=10 --bind-address=IP http://cpanel.net/myip || echo NO REPLY"
    
  • DNS Cluster
    /usr/local/cpanel/3rdparty/bin/perl -MCpanel::DNSLib::PeerStatus -e 'use Data::Dumper; print Dumper(Cpanel::DNSLib::PeerStatus::_get_infos_bulk("192.168.100.81"));'    
    
/usr/local/cpanel/3rdparty/bin/perl -MCpanel::DNSLib::PeerStatus -e 'use Data::Dumper; print Dumper(Cpanel::DNSLib::PeerStatus::_get_infos_bulk("IP"));'
 /usr/local/cpanel/3rdparty/bin/perl -MCpanel::DNSLib::PeerStatus -e 'use Data::Dumper;print Dumper(Cpanel::DNSLib::PeerStatus::invalidate_and_refresh_cache("root","IP",1));'
  • Analytics
/usr/local/cpanel/3rdparty/bin/perl -MCpanel::Analytics -e 'use Data::Dumper; print Dumper(Cpanel::Analytics::write_unique_system_id());'
  • Create Login
    whmapi1 create_user_session user=root service=whostmgrd preferred_domain=server_IP_or_domain
    
whmapi1 create_user_session user=root service=whostmgrd preferred_domain=10.66.67.168 | grep url| awk -Furl: '{print$2"\n"}'
  • Mysql Grants
    for cpuser in $(ls -1 /var/cpanel/users|grep -v 'system\|nobody');do   /usr/local/cpanel/bin/restoregrants --cpuser=$cpuser  --db=mysql --all;done