Server IP : 103.53.40.154 / Your IP : 18.226.248.88 Web Server : Apache System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : ppcad7no ( 715) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /mnt/../var/../scripts/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/perform_sqlite_auto_rebuild_db_maintenance # 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 package scripts::perform_sqlite_auto_rebuild_db_maintenance; use strict; use warnings; use parent qw( Cpanel::HelpfulScript ); use constant _OPTIONS => (); use Try::Tiny; use Cpanel::Debug (); use Cpanel::LoadModule (); use Cpanel::Update::InProgress (); use Cpanel::Update::IsCron (); =encoding utf-8 =head1 NAME scripts::perform_sqlite_auto_rebuild_db_maintenance =head1 SYNOPSIS /scripts/perform_sqlite_auto_rebuild_db_maintenance =head1 DESCRIPTION This script is used by the maintenance script to automatically check and repair auto-rebuilt SQLite databases =cut __PACKAGE__->new(@ARGV)->run() if !caller(); use constant DATABASE_PACKAGES => qw( Cpanel::APNS::Mail::DB::Sqlite Cpanel::APNS::Mail::DB::Sqlite Cpanel::Apache::TLS::Index Cpanel::Apache::TLS::Index::DB Cpanel::BandwidthDB::RootCache Cpanel::BandwidthDB::RootCache Cpanel::EximStats::DB::Sqlite Cpanel::EximStats::DB::Sqlite Cpanel::SSL::Auto::Provider::cPanel::Queue::DB Cpanel::SSL::Auto::Provider::cPanel::Queue::DB ); sub run { my ($self) = @_; if ( Cpanel::Update::InProgress->is_on() && !Cpanel::Update::IsCron->is_on() ) { $self->say_maketext('A manual update of [asis,cPanel amp() WHM] is in progress. This script will exit now.'); return; } my %packages = DATABASE_PACKAGES(); for my $package ( keys %packages ) { try { Cpanel::LoadModule::load_perl_module($package); # Cpanel::Apache::TLS::Index uses Cpanel::Apache::TLS::Index::DB as its internal package for the database my $dbh = $packages{$package}->new( full_integrity_check => 1 ); } catch { Cpanel::Debug::log_warn("There was an error attempting to do an integrity check on '$package': $_"); }; } return; } 1;