magentoデータベースのlogの消去

3730 ワード


magento自体は多くのログを記録し、これらのログは長年にわたって蓄積され、非常に大きな空間を占めています.次はログ・テーブルです
  •    ’dataflow_batch_export’,
  •    ’dataflow_batch_import’,
  •    ’log_customer’,
  •    ’log_quote’,
  •    ’log_summary’,
  •    ’log_summary_type’,
  •    ’log_url’,
  •    ’log_url_info’,
  •    ’log_visitor’,
  •    ’log_visitor_info’,
  •    ’log_visitor_online’,
  •    ’report_event’,
  •    ’report_compared_product_index’,
  •    ’report_viewed_product_index’,

  • 上記のログテーブルは、基本的に私のプロジェクト開発でDBの半分のスペースを占めています.たとえばMAGENTOデータベースは全部で5 Gこれらの表のデータは3 G余りを占めました
    多くの時間、これらのテーブルデータはまったく使用されないので、タイミングを決めてクリーンアップする必要があります.
    パージ方法
    一:バックグラウンドクリア1:ログイン後の太System>Configuration.2:左側のメニューAdvancedの下でSystemをクリックします.3:「Log Cleaning」で「Enable Log Cleaning」をYESに変更し、Save Logを15 daysに設定する.
     
     
    二:コードクリア:
     
    
     * @copyright  Copyright (c) 2006-2013 , Ltd.
     * @link       http://www.magento.com  magento
     */
    
    switch($_GET['clean']) {
        case 'log':
            clean_log_tables();
        break;
        case 'var':
            clean_var_directory();
        break;
    }
    
    function clean_log_tables() {
        $xml = simplexml_load_file('./app/etc/local.xml', NULL, LIBXML_NOCDATA);
    
        if(is_object($xml)) {
            $db['host'] = $xml->global->resources->default_setup->connection->host;
            $db['name'] = $xml->global->resources->default_setup->connection->dbname;
            $db['user'] = $xml->global->resources->default_setup->connection->username;
            $db['pass'] = $xml->global->resources->default_setup->connection->password;
            $db['pref'] = $xml->global->resources->db->table_prefix;
    
            $tables = array(
                'adminnotification_inbox',
                'aw_core_logger',
                'dataflow_batch_export',
                'dataflow_batch_import',
                'log_customer',
                'log_quote',
                'log_summary',
                'log_summary_type',
                'log_url',
                'log_url_info',
                'log_visitor',
                'log_visitor_info',
                'log_visitor_online',
                'index_event',
                'report_event',
                'report_viewed_product_index',
                'report_compared_product_index',
                'catalog_compare_item',
                'catalogindex_aggregation',
                'catalogindex_aggregation_tag',
                'catalogindex_aggregation_to_tag'
            );
    
            mysql_connect($db['host'], $db['user'], $db['pass']) or die(mysql_error());
            mysql_select_db($db['name']) or die(mysql_error());
    
            foreach($tables as $table) {
                @mysql_query('TRUNCATE `'.$db['pref'].$table.'`');
            }
        } else {
            exit('Unable to load local.xml file');
        }
    }
    
    function clean_var_directory() {
        $dirs = array(
            'downloader/.cache/',
            'downloader/pearlib/cache/*',
            'downloader/pearlib/download/*',
            'var/cache/',
            'var/locks/',
            'var/log/',
            'var/report/',
            'var/session/',
            'var/tmp/'
        );
    
        foreach($dirs as $dir) {
            exec('rm -rf '.$dir);
        }
    }
    
        magento