linux spool目录 删除,linux清除/var/spool/clientmqueue下海量小文件方法
kevin.Zhu 发布于:2022-2-9 15:20 分类:文摘 有 14 人浏览,获得评论 0 条
https://blog.csdn.net/weixin_42301008/article/details/116595127
昨天发了一天文章,inode100%故障导致无法上传文件,今天空间又满了,不得不再次仔细核查这个问题,终于找到了罪魁祸首,那就是/var/spool/clientmqueue这个目录下存有海量的日志内容,估算这个目录下有千万级别的小文件,难怪会导致inode用完这个奇葩问题。
ps:不要尝试在wdcp或者宝塔面板中打开这个文件夹,那一定会卡死。
经过查阅资料,发现linux下的cron定时任务在没有重定向的情况下,就会将每次的执行结果发到/var/spool/clientmqueue这个文件夹下,我的论坛使用rsync做远程附件自动同步,为了达到近乎实时同步的效果,5秒钟执行一次同步,这样原因就很明显了,也就是5秒钟就会在clientmqueue在文件夹下生成一个文件,每天会生成17280个文件,一个月就会生成518400个文件……我这个用了一年了,大概生成了6303200个文件,多么恐怖的一个数字,这些文件都很小,不到1kb,但是都需要占用索引,这也就解释了为什么空间还有27G但是inode用满了。
同时很奇怪的是,昨天在统计文件个数的时候,竟然没统计出来这个文件夹,今天重新做了一次仔细看了下,数字是0,估计脚本直接挂了。
用其它统计大小和文件个数的命令,都是内存不够导致直接被kill了……
如何清除linux系统清除/var/spool/clientmqueue下大量日志教程
找到了问题,就要着手解决了,删除这么多的文件夹,还真成为一个大问题,
常用的rm -rf *时候会提示:
“-bash: /bin/rm: Argument list too long“..
需要使用ls | xargs rm -f命令删除,如下,先cd切换到clientmqueue下,然后执行命令
# cd ar/spool/clientmqueue
# ls | xargs rm -f
执行这个命令的时候,又遇到了问题,那就是我的这个附件服务器用的是1U1G5M的,小内存大带宽,然后执行命令的时候一直提示内存不够……关了网站依然不够用,最后没办法,升级到1U2G后解决。
此命令大概执行了一个小时才全部清空clientmqueue,清空后inode从100%降低到5%,真是世界彻底清净了。
如何避免clientmqueue产生大量文件
直接抛弃命令执行的结果,每条计划任务命令后加> /dev/null 2>&1即可。
具体我的命令是:
* * * * * /root/rs.sh >/dev/null 2>&1
* * * * * sleep 5; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 10; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 15; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 20; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 25; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 30; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 35; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 40; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 45; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 50; /root/rs.sh >/dev/null 2>&1
* * * * * sleep 55; /root/rs.sh >/dev/null 2>&1
具体根据你自己的任务计划修改。
修改前后测试,加了> /dev/null 2>&1后clientmqueue不会产生新的文件,终于彻底解决了这个问题。
-
存档
- 2024年2月(1)
- 2024年1月(15)
- 2023年12月(2)
- 2023年11月(7)
- 2023年10月(5)
- 2023年8月(1)
- 2023年6月(3)
- 2023年5月(1)
- 2023年4月(4)
- 2023年3月(14)
- 2023年2月(8)
- 2023年1月(10)
- 2022年12月(21)
- 2022年11月(24)
- 2022年10月(16)
- 2022年9月(16)
- 2022年8月(31)
- 2022年7月(25)
- 2022年6月(10)
- 2022年5月(20)
- 2022年4月(32)
- 2022年3月(16)
- 2022年2月(9)
- 2022年1月(13)
- 2021年12月(7)
- 2021年11月(16)
- 2021年10月(8)
- 2021年9月(12)
- 2021年8月(12)
- 2021年7月(21)
- 2021年6月(13)
- 2021年5月(20)
- 2021年4月(19)
- 2021年3月(9)
- 2021年2月(3)
- 2021年1月(10)
- 2020年12月(16)
- 2020年11月(13)
- 2020年10月(2)
- 2020年9月(17)
- 2020年8月(4)
- 2020年7月(15)
- 2020年6月(5)
- 2020年5月(1)
- 2020年4月(21)
- 2020年3月(44)
- 2020年2月(20)
- 2020年1月(12)
- 2019年12月(9)
- 2019年11月(13)
- 2019年10月(44)
- 2019年9月(18)
- 2019年8月(15)
- 2019年7月(6)
- 2019年6月(17)
- 2019年5月(10)
- 2019年4月(24)
- 2019年3月(6)
- 2019年2月(2)
- 2019年1月(9)
- 2018年12月(16)
- 2018年11月(6)
- 2018年10月(10)
- 2018年9月(7)
- 2018年8月(8)
- 2018年7月(13)
- 2018年6月(20)
- 2018年5月(22)
- 2018年4月(25)
- 2018年3月(34)
- 2018年2月(9)
- 2018年1月(29)
- 2017年12月(13)
- 2017年11月(29)
- 2017年10月(19)
- 2017年9月(24)
- 2017年8月(27)
- 2017年7月(21)
- 2017年6月(35)
- 2017年5月(61)
- 2017年4月(17)
- 2017年3月(5)
- 2016年8月(1)
- 2014年3月(12)
- 2014年2月(25)
- 2014年1月(22)
- 2013年12月(29)
- 2013年11月(19)
- 2013年10月(18)
- 2013年9月(23)
- 2013年8月(24)
- 2013年7月(22)
- 2013年6月(15)
- 2013年5月(11)
- 2013年4月(36)
- 2013年3月(28)
- 2013年2月(35)
- 2013年1月(627)
-
最新文章
- docker 容器镜像日志满了,解决方案
- sshd_config 中文手册:关于ssh 设置的相关总结(ssh最大连接数、ssh连接时长、安全性配置等)
- 如何在 Linux 中使用 SSH ProxyJump 和 SSH ProxyCommand
- ubuntu - apt-get更新非交互式
- /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
- Golang中,Aes加解密
- Go实现MD5加密的三种方法小结
- go语言 跟 php nodejs通用的加解密代码
- Win10/11 更改 WSL Docker Desktop 存储路径
- go语言使用vscodedebug 输入数据怎么调试
- ubuntu18.04安装Go语言
- 一键生成ssl证书脚本
- 一键生成自签名SSL秘钥证书
- nginx根据不同的域名将反向代理的tcp连接分流到不同的后端服务器上
- WSL2支持systemctl命令
- WSL 双系统端口映射,网络穿透最新教程
- 使用apt-mirror搭建debian本地仓库 apt源 debian源
- vscode设置打开多个标签页
- 使用IPTABLES实现对特定IP,端口流量的精确统计
- 开源免费的知识库文档管理系统(合集+排名)
- Windows 10(21H2)+ LTSC 2021 最新版MSDN官方简体中文原版ISO镜像下载地址
- Typora语法学习-自我总结笔记
- win7原版下载地址
- 解决在 Win7 旗舰版虚拟机中安装 VMware Tools 失败问题
- windows安装QT
- 使用pkg打包zx编写的nodejs程序
- nodejs库-inquirer.js
- 在nodejs代码中使用 import 替代require
- konva教程
- konva中文文档
-
热门文章