MAIS

    Script de manutenção para Magento – Limpar logs e Cache

    - Anúncio -
    - Anúncio -

     

    Se não for controlada, os arquivos de sessão Magento podem crescer fora de controle e ter um impacto negativo sobre o seu desempenho de sites (além como ocupando muito espaço de armazenamento).

    Este artigo explica como se certificar que os arquivos de sessão antigos são removidos automaticamente.

    Lojas Magento possui seus arquivos de sessão em var/session/ e eu já vi muitas instalações Magento onde o tamanho deste diretório tem crescido em gigabytes. Uma olhada rápida deste diretório deve dizer se você tem um problema ou não.

    Outro problema se refere há muitos dados de logs no banco de dados, o que pode ocasionar um aumento significativo da sua base de dados.

    Para automatizar esse processo vamos configurar um script cron simples de fazer uma limpeza geral em sua loja.

    Para este exemplo, vamos dizer que o caminho para a instalação do Magento é /path/to/magento e queremos excluir os arquivos de sessão com mais de uma semana.

    criamos um arquivo limpeza.php com o seguinte código:

     

    <?php
    
    /**
     * Script manutenção magento
     *
     * 
    @version    1.0
     * 
    @author     Canal da Web <[email protected]>
     
    * @copyright  Copyright (c) 2014 Canal da Web. 
    *@link       http://www.canaldaweb.com.br  Canal da Web
     
    */
     
    
    switch($_GET['comando']) {
        
    case 'logs':
            limpar_log_tables();
    
        break;
        
    case 'pastas':
            
    limpar_log_diretorios();
    
        break;
    
    }
    
    function limpar_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(
                '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('Nao foi possivel carregar o arquivo local.xml');
        }
    
    
    }
    
    
     
    function limpar_log_diretorios() {
        
    
    $dirs = array(
            'downloader/.cache/',
    
            'downloader/pearlib/cache/*',
            
    'downloader/pearlib/download/*',
    
            'media/css/',
            
    'media/css_secure/',
            
    'media/import/',
            
    'media/js/',
    
            'var/cache/',
            
    'var/locks/',
            
    'var/log/',
            
    'var/report/',
    
            'var/session/',
            
    'var/tmp/'
        );
    
    
    foreach($dirs as $dir) {
    
    
            exec('rm -rf '.$dir);
        
    
    }
    
    
    }
    

    Salve o arquivo no seu diretório magento e configure seu crontab. deixe para executar o comando abaixo 1 vez por dia.

    curl -s -o /dev/null http://www.seudominio.com.br/limpeza.php?comando=logs

    agora coloque para executar o comando abaixo a cada 15 dias.

    curl -s -o /dev/null http://www.seudominio.com.br/limpeza.php?comando=pastas

     

    * caso você esteja configurando diretamente no linux poderá usar o comando crontab -e para acessar seu crontab e configura-lo.

     

     

    - Anúncio -

    Artigos recentes

    Moderninha X – A melhor maquininha

    Fácil de usar, a Moderninha X é a maquininha PagSeguro que aceita 22 formas de pagamento diferentes e ainda te ajuda a gerenciar suas...

    Cielo ZIP

    Cabe no seu bolso e não precisa de celular. Você pode levar para aonde quiser e conta com bateria de longa duração.DébitoCrédito à vistaCrédito...

    Cielo Mini ZIP – Agilidade e facilidade para você vender aonde estiver

    A maquininha de cartão que não precisa de celular, é pequena no tamanho e no preço. Agilidade e facilidade para você vender aonde estiver.DébitoCrédito...

    Moderninha Smart

    Vantagens de vender com a Moderninha Smart Sem aluguel, nem taxa de adesão Faça a gestão completa do...

    Plugin API Cielo 3.0 para Woocommerce

    Integração do Woocommerce com a nova API 3.0 da Cielo. 

    Continue lendo

    DEIXE UMA RESPOSTA

    Please enter your comment!
    Please enter your name here

    Stay on op - Ge the daily news in your inbox