Support Center

Magento Log and Cache Maintenance Script

Last Updated: Jun 01, 2015 01:12PM CDT
  1. Create a file called cleanup.php and add the following code to it (where your specific info is subbed into the section below 'Magento Maintenance Script')

    <?php
    /**
     * Magento Maintenance Script
     *
     * @version    3.0.1
     * @author     Web Hosting Company <sales@webhost.com>
     * @copyright  Copyright (c) 2006-2013 Web Hosting Company
     * @link       http://www.thatsite.com  Web Hosting Company
     */
    
    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(
                '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/*',
            '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);
        }
    }
  2. Save the file to the directory where Magento resides

  3. Log into cPanel and click the Cron Manager link

  4. In the Add Cron Job section, select Once a day from the Common Settings dropdown list

  5. In the Command field, enter the following line of code, making sure to replace the domain name with your own:

    curl -s -o /dev/null http://www.domain.com/cleanup.php?clean=log
     
  6. Once you have this set at your preferred interval, click the Add Cron Job button

  7. Repeat the same steps as you did before, but change the Common Settings dropdown selection to 1st and 15th, and add the following line of code to the Command field:

    curl -s -o /dev/null http://www.domain.com/cleanup.php?clean=var
    ​
    
  8. Now click the Add Cron Job button

  9. While you're on this page, it's a good idea to set the Email Address to something other than your username, otherwise your mail/new directory will fill up very quickly every time a cron job runs (assuming it produces output); You can leave it blank or use an actual email address


​Check out the rest of our Magento articles to get more info and help.
b2e1da5554fae60a8baf40cecd3cb9f6@asmallorange.desk-mail.com
https://cdn.desk.com/
false
desk
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete