#!/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; } $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') . "\n"; } cacti_log('ANALYSIS STATS: Analyzing Cacti Tables Complete. Total time ' . (time() - $start) . ' seconds.', false, 'SYSTEM'); } /* display_version - displays version information */ function display_version() { $version = get_cacti_cli_version(); print "Cacti Analyze Database Utility, Version $version, " . COPYRIGHT_YEARS . "\n"; } /* display_help - displays the usage of the function */ function display_help () { display_version(); print "\nusage: analyze_database.php [-d|--debug]\n\n"; print "A utility to recalculate the cardinality of indexes within the Cacti database.\n"; print "It's important to periodically run this utility especially on larger systems.\n\n"; print "Optional:\n"; print " --local - Perform the action on the Remote Data Collector if run from there\n"; print "-d | --debug - Display verbose output during execution\n\n"; }