精彩推荐

Magento 下的var非常大怎么回事?

1974人阅读  2人回复   查看全部 | 阅读模式 | 复制链接   

3

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2015-4-24 04:50:12
分享到:
运行magento设置的电子商务站一年后,发现var下边的几个目录多达24Gb:

'downloader/.cache/*',
'downloader/pearlib/cache/*',
'downloader/pearlib/download/*',
'var/cache/',
'var/locks/',
'var/log/',
'var/report/',
'var/session/',
'var/tmp/'

能清空它们吗?
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2015-4-24 04:55:21 | 显示全部楼层
Linux系统下快速删除某个目录下大量文件:
不管是哪个操作系统,同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候。


一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢?

你可以用 rm -f *.log 但是你马上就会收到一个出错信息:参数列表太长


一个小时以前我一直还是缩小通用匹配符的范围,例如我依次的执行


rm -f a*.log

rm -f b*.log
......


非常费劲,如果这样还不行可以还要继续细化通配符,这样要删除所有log文件可能需要一整天时间。


废话那么多,其实只需要一个命令就可以搞定


ls *.log | xargs rm -f

刚把一个包含几万个文件的目录干掉(/var/log/samba),试试看。


注:用rm -fr (路径+要删文件)也可以。
回复 支持 反对

使用道具 举报

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2015-4-24 04:58:35 | 显示全部楼层
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数据库一共4G这些表的数据就占了2G多

而很多时间这些表数据根本不会用到,所以定时清理很有必要

清除方法

一:后台清除
1:登入后太 System > Configuration.
2:左侧菜单 Advanced 下点击 System.
3:在”Log Cleaning”下, 改变”Enable Log Cleaning” 为 YES 并且配置Save Log 为15 days:

二:代码清除:

  1. <?php
  2. /**
  3. * Magento Maintenance Script
  4. *
  5. * @version    3.0.0
  6. * @author     Crucial Web Hosting <sales@crucialwebhost.com>
  7. * @copyright  Copyright (c) 2006-2013 Crucial Web Hosting, Ltd.
  8. * @link       http://www.crucialwebhost.com  Crucial Web Hosting
  9. */

  10. switch($_GET['clean']) {
  11.     case 'log':
  12.         clean_log_tables();
  13.     break;
  14.     case 'var':
  15.         clean_var_directory();
  16.     break;
  17. }

  18. function clean_log_tables() {
  19.     $xml = simplexml_load_file('./app/etc/local.xml', NULL, LIBXML_NOCDATA);
  20.    
  21.     if(is_object($xml)) {
  22.         $db['host'] = $xml->global->resources->default_setup->connection->host;
  23.         $db['name'] = $xml->global->resources->default_setup->connection->dbname;
  24.         $db['user'] = $xml->global->resources->default_setup->connection->username;
  25.         $db['pass'] = $xml->global->resources->default_setup->connection->password;
  26.         $db['pref'] = $xml->global->resources->db->table_prefix;
  27.         
  28.         $tables = array(
  29.             'adminnotification_inbox',
  30.             'aw_core_logger',
  31.             'dataflow_batch_export',
  32.             'dataflow_batch_import',
  33.             'log_customer',
  34.             'log_quote',
  35.             'log_summary',
  36.             'log_summary_type',
  37.             'log_url',
  38.             'log_url_info',
  39.             'log_visitor',
  40.             'log_visitor_info',
  41.             'log_visitor_online',
  42.             'index_event',
  43.             'report_event',
  44.             'report_viewed_product_index',
  45.             'report_compared_product_index',
  46.             'catalog_compare_item',
  47.             'catalogindex_aggregation',
  48.             'catalogindex_aggregation_tag',
  49.             'catalogindex_aggregation_to_tag'
  50.         );
  51.         
  52.         mysql_connect($db['host'], $db['user'], $db['pass']) or die(mysql_error());
  53.         mysql_select_db($db['name']) or die(mysql_error());
  54.         
  55.         foreach($tables as $table) {
  56.             @mysql_query('TRUNCATE `'.$db['pref'].$table.'`');
  57.         }
  58.     } else {
  59.         exit('Unable to load local.xml file');
  60.     }
  61. }

  62. function clean_var_directory() {
  63.     $dirs = array(
  64.         'downloader/.cache/',
  65.         'downloader/pearlib/cache/*',
  66.         'downloader/pearlib/download/*',
  67.         'var/cache/',
  68.         'var/locks/',
  69.         'var/log/',
  70.         'var/report/',
  71.         'var/session/',
  72.         'var/tmp/'
  73.     );
  74.    
  75.     foreach($dirs as $dir) {
  76.         exec('rm -rf '.$dir);
  77.     }
  78. }
复制代码
回复 支持 反对

使用道具 举报

快速回复 返回顶部 返回列表