�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �% (); 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::Apache::TLS::Index Cpanel::Apache::TLS::Index::DB Cpanel::BandwidthDB::RootCache Cpanel::BandwidthDB::RootCache Cpanel::EximStats::DB::Sqlite Cpanel::EximStats::DB::Sqlite ); 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;