No space left on device

浅浅的花香味﹌ 2023-10-17 19:11 110阅读 0赞

在向crontab中添加新的记录时,添加完成后保存报错:/var/spool/cron/tmp.XXXXnewi7F: No space left on device

从报错原因看,是磁盘满了。

使用df -lh查看,发现/var仍然有容量。使用df -i查看,发现/var已经使用了100%。

df -i是什么呢?是用于查看文件结点的,Linux下的目录会建立索引结点(inode),用于索引文件。每个文件都会占用一个索引结点。索引结点是有限的,如果索引结点全部被使用,系统无法给创建的文件分配索引结点,就会报错,新文件就无法创立。

问题根源在于/var/spool/clientmqueue目录下,存在大量的文件。使用ls -l命令查看,直接被刷屏。使用ls | wc -l命令统计了下,存在20W的文件,这就难怪inode被占用完了。

这些文件都是crontab 中执行任务产生的输出,当没有重定向的固定的位置时,全部写入到该目录下的文件中。

现在只要删除这些文件就可以了。那么问题来了,有这么多文件,怎么删除呢?

方法1:find ./* | xargs rm -rf 或者 find ./* -mtime +30 -type f

方法2:ls | xargs -n 100 rm -rf 这个是将当前目录下文件列出来,100个为一组(空格隔开),由rm -rf 删除。

参考自:

http://blog.163.com/ly\_89/blog/static/186902299201191233058625/

http://www.2cto.com/kf/201311/260596.html

来源:https://blog.csdn.net/szchtx/article/details/41750799

发表评论

表情:
评论列表 (有 0 条评论,110人围观)

还没有评论,来说两句吧...

相关阅读

    相关 No space left on device

    真的是气死我了 我都不知道为什么我/var/lib下有那么多东西 我什么都没干就各种下载安装而已 解决办法: 使用命令df -h 查看硬盘空间  du -sh /\ 查

    相关 No space left on device

    [为什么80%的码农都做不了架构师?>>> ][80_]  ![hot3.png][] 一. 收到报警 线上有一台服务器磁盘检测告警了,提示空间不足。爬到服务器查看相关信息: