-
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 <[email protected]>
* @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);
}
}
-
Save the file to the directory where Magento resides
-
Log into cPanel and click the Cron Manager link
-
In the Add Cron Job section, select Once a day from the Common Settings dropdown list
-
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
-
Once you have this set at your preferred interval, click the Add Cron Job button
-
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
-
Now click the Add Cron Job button
-
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.
|