我有个linux服务器,不知什么东西一直每分钟100k左右速度一直增长,撑满了硬盘,我找了很久,现在发现mysql下的一个web.err非常大,有2.3g,其他数据文件才几m到几十m而已。现在的问题是,怎么处理这个web.err文件,直接删除恐怕不行吧。
有谁有这方面经验啊?我为了这个问题都前后发了两个贴了,有兴趣的人可以看看系统文件自增长,谁知道怎么回事吗?大概每分钟100k左右的速度  [Linux/Unix社区 系统维护与使用区] 
http://topic.csdn.net/u/20100520/16/90faf148-0113-4d41-8c40-9fd43bd91aa1.html如何查找 删除 linux不断增加的垃圾日志文件?
http://topic.csdn.net/u/20100609/13/36ad536a-f038-4901-9557-f541d084daab.html

解决方案 »

  1.   

    假设那个web.err路径在/var/lib/mysql/web.err
    你可以先查一下是哪个进程占用它:
    lsof | grep web.err,我估计是mysqld相关进程。
    其实也没有关系。
    你用命令
    echo abc>/var/lib/mysql/web.err
    一下子就把这个文件给弄成3个字符了。
    等以后再涨一点了,再看看web.err倒底是什么错误,分析出错误原因才是根本之道。
      

  2.   

    这是你的错误日志文件,估计有什么进程产生了过多的错误。show processlist; 先看一下。这个文件只能做删除处理,你可以先备份,然后删除。
      

  3.   

    用你的方法
    然后下了web.err
    发现一直web.err里面写:
    Number of processes running now: 0
    100611 12:59:55  mysqld restarted
    100611 12:59:55  InnoDB: Started; log sequence number 0 46523
    100611 12:59:55 [ERROR] /usr/local/mysql/libexec/mysqld: Error writing file '/usr/local/mysql/var/web.pid' (Errcode: 28)
    100611 12:59:55 [ERROR] Can't start server: can't create PID file: No space left on device
      

  4.   

    这下找到原因了。device上没有空间了。释放点空间,或者为data目录,添加数据文件到别的分区挂载点。
      

  5.   

    100611 12:59:55 [ERROR] Can't start server: can't create PID file: No space left on device好像说得已经很明白了。
      

  6.   

    但是我在这个机器上 df -l 查看 有2g多空间 因为我删除了一些东西 
      

  7.   

    得看你的mysql数据目录所在的卷剩余空间有多少。包括是否有权限。等等。
      

  8.   

    [xionghe@bjeaslinux1 ~]$ df -m
    Filesystem             1M-¿é        ÒÑÓà    ¿ÉÓàÒÑÓÃ% ¹ÒÔصã
    /dev/mapper/VolGroup_ID_8567-LogVol1
                             10080      9514        55 100% /
    /dev/sda3                   99        14        80  15% /boot
    none                      1974         0      1974   0% /dev/shm
    /dev/mapper/VolGroup_ID_8567-LogVol2
                             10080        56      9513   1% /tmp
    /dev/mapper/VolGroup_ID_8567-LogVol5
                             10080      3500      6068  37% /usr
    /dev/mapper/VolGroup_ID_8567-LogVol4
                             10080       174      9394   2% /var
    /dev/mapper/VolGroup_ID_8567-LogVolHome
                             10080      7910      1658  83% /home
    /dev/mapper/VolGroup_ID_8567-bjeaslnx1_1
    然后看你的/var/lib/mysql位于/var下,只看/var的剩余空间就行了。
    建议你学习一下linux下的基本命令先。
    至于权限,ls -la /var/lib/mysql就能看到了。你的问题早该解决了。