session导致inode 100% mysql 损坏–事故记录

df -i 100% 了

rm -rf /tmp/session 删除失败,文件太多了

find /tmp/session -name “*” | xargs rm -rf ‘*’

删除一丁后 启动mysql给出的数据有问题,分析了下表
Table ‘***’ is marked as crashed and last (automatic?) repair failed
crashed 毁坏了

那就得修复下表:
进入mysql对应的文件夹数据存储目录
#myisamchk -r <table_name>

如果这样还是不能解决, 停掉mysql,然后
#myisamchk -r -v -f <table_name>

注:
1.原来session存储到了redis,当时由于php-fpm 的配置问题导致登陆不上,就该到了文件存储,实际上应该改回redis存储;
由于被攻击导致session暴增,文件的inode 100%
2.linux 服务器增长的文件大致有:session,mysqlbinlog,图片的存储;

df 的一些用法
用法:df [选项]… [文件]…
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。

长选项必须使用的参数对于短选项时也是必需使用的。
-a, –all include dummy file systems
-B, –block-size=SIZE use SIZE-byte blocks
–direct show statistics for a file instead of mount point
–total produce a grand total
-h, –human-readable print sizes in human readable format (e.g., 1K 234M 2G)
-H, –si likewise, but use powers of 1000 not 1024
-i, –inodes 显示inode 信息而非块使用量
-k 即–block-size=1K
-l, –local 只显示本机的文件系统
–no-sync 取得使用量数据前不进行同步动作(默认)
-P, –portability 使用POSIX 兼容的输出格式
–sync 取得使用量数据前先进行同步动作
-t, –type=类型 只显示指定文件系统为指定类型的信息
-T, –print-type 显示文件系统类型
-x, –exclude-type=类型 只显示文件系统不是指定类型信息
-v (忽略)
–help 显示此帮助信息并退出
–version 显示版本信息并退出

所显示的数值是来自 –block-size、DF_BLOCK_SIZE、BLOCK_SIZE
及 BLOCKSIZE 环境变量中第一个可用的 SIZE 单位。
否则,默认单位是 1024 字节(或是 512,若设定 POSIXLY_CORRECT 的话)。

SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注