#!/usr/bin/env php 1) { db_switch_remote_to_main(); print 'NOTE: Repairing Tables for Main Database' . PHP_EOL; } else { print 'NOTE: Repairing Tables for Local Database' . PHP_EOL; } } else { print 'NOTE: Repairing Tables for Local Database' . PHP_EOL; } $tables = db_fetch_assoc('SHOW TABLES FROM `' . $database_default . '`'); if (cacti_sizeof($tables)) { foreach ($tables as $table) { if (db_binlog_enabled()) { print "NOTE: Analyzing Table -> '" . $table['Tables_in_' . $database_default] . "' without writing to the binlog"; $status = db_execute('ANALYZE TABLE NO_WRITE_TO_BINLOG ' . $table['Tables_in_' . $database_default] . $form); } else { print "NOTE: Analyzing Table -> '" . $table['Tables_in_' . $database_default] . "'"; $status = db_execute('ANALYZE TABLE ' . $table['Tables_in_' . $database_default] . $form); } print ($status == 0 ? ' Failed' : ' Successful') . PHP_EOL; } cacti_log('ANALYSIS STATS: Analyzing Cacti Tables Complete. Total time ' . (time() - $start) . ' seconds.', false, 'SYSTEM'); } /** * display_version - displays version information * * @return void */ function display_version() : void { $version = get_cacti_cli_version(); print "Cacti Analyze Database Utility, Version $version, " . COPYRIGHT_YEARS . PHP_EOL; } /** * display_help - displays the usage of the function * * @return void */ function display_help() : void { display_version(); print PHP_EOL; print 'usage: analyze_database.php [-d|--debug]' . PHP_EOL . PHP_EOL; print 'A utility to recalculate the cardinality of indexes within the Cacti database.' . PHP_EOL; print "It's important to periodically run this utility especially on larger systems." . PHP_EOL . PHP_EOL; print 'Optional:' . PHP_EOL; print ' --local - Perform the action on the Remote Data Collector if run from there' . PHP_EOL; print '-d | --debug - Display verbose output during execution' . PHP_EOL . PHP_EOL; }