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

    Como se dar bem na crise do corona vírus? Ganhe dinheiro no tempo de quarentena (covid-19)

    Em tempos que tudo se fala em corona vírus (covid-19) e que temos que ficar em quarentena em casa, muitos trabalhando como home-office, ou...

    PHP Orientado a Objetos de forma fácil e prática – POO

    Para muitos programadores PHP, orientação a objetos é um conceito amedrontador, cheio de sintaxes complicadas e pontos de paradas. Aqui você aprenderá os conceitos por...

    Ganhar Dinheiro Trabalhando Em Casa Em Apenas 7 Dias

    O Método Desafio de 7 Dias é um Curso Online com um método único e exclusivo, para que você aprenda a gerar renda através...

    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...

    Continue lendo

    DEIXE UMA RESPOSTA

    Please enter your comment!
    Please enter your name here

    Stay on op - Ge the daily news in your inbox