linux查找maildrop目录超大空间占用 作者:matrix 被围观: 3,730 次 发布时间:2019-09-20 分类:Linux | 无评论 » 这是一个创建于 1076 天前的主题...最后找到一个隐藏杀手:/var/spool/postfix/maildrop/。这个目录下面存在3000W个小文件,占用33GB。主要它还不是tmp之类的目录,没遇见过真是很难查找。...记下以后排查的顺序 web程序日志 nginx/apache日志 tmp crontab 错误邮件发送日志 /var/spool/postfix/maildrop /var/log 类型的log目录
系统磁盘优化——"/var/spool/postfix/maildrop" 文件清理 最近某服务器磁盘空间告警,在排查过程中发现"/var/spool/postfix/maildrop"目录下堆积了很多小文件...起初想直接删除,但是使用rm删除是提示“参数列表过长”,后来使用rsync来清楚垃圾文件: # 创建一个临时空文件夹 mkdir /tmp/blankdir # 清理/var/spool/postfix/maildrop...rsync -av --delete /tmp/blankdir/ /var/spool/postfix/maildrop/ # rsync选项说明: # --delete-before 接收者在传输之前进行删除操作...于是开始排查,经过一番“海底捞”,真相终于浮出水面: 由于 Linux 在执行 cron 时,会将 cron 执行脚本中的 output 和 warning 信息,都会以邮件的形式发送 cron 所有者..., 而由于客户环境中的 sendmail 和 postfix 没有正常运行,导致邮件发送不成功,全部小文件堆积在了 maildrop 目录下面,而且没有自动清理转换的机制,所以长达一年的时间,此目录已堆积了大量的文件
定位问题 第一反应是 /var 目录下的文件导致,于是用下面脚本找出 /var 下各个目录文件数量,逐步定位到 /var/spool/postfix/maildrop #!...-d ' ' -f2 | xargs kill mkdir -p /home/a.test rsync -av --delete /home/a.test/ /var/spool/postfix/maildrop...file or directory May 2 5:29:23 lcha2 postfix/postdrop[1269]: warning: mail_queue_enter: create file maildrop...file or directory May 2 5:29:23 lcha2 postfix/postdrop[1439]: warning: mail_queue_enter: create file maildrop...执行的命令最后加上 &> /dev/null via crond 引发大量sendmail进程的解决办法 - Yun维攻城狮 http://www.89cool.com/411.html Crontab导致Linux
今天查看硬盘剩余的容量,发现‘/’目录下占用了大量的空间;可我在这个目录下面没有放什么东西;仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件。...由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了...maildrop目录下面。
什么是 Linux Inode 在Linux操作系统中,索引节点(inode)是一个核心概念。它是文件系统中的一个关键数据结构,主要负责存储文件的元数据而非文件名本身。...查看 Inode 使用情况 df -i命令在Linux系统中用于显示文件系统的inode使用情况。...每个文件或目录在Linux中都至少有一个对应的inode,而文件占用的大小只对应于硬盘空间容量。...如进入到目标文件夹/var/spool/postfix/maildrop/下进行删除操作,但执行传统的删除命令rm通常会报错,提示参数列表过长。原因是文件太多了。...# 一定要先进入要删除的目录下 cd /var/spool/postfix/maildrop/ # pwd命令可以显示当前路径 pwd # 一定要先确认当前路径再执行删除操作 find .
device Nov 19 10:12:15 test-server postfix/postdrop[27287]: warning: mail_queue_enter: create file maildrop...device Nov 19 10:12:15 test-server postfix/postdrop[12347]: warning: mail_queue_enter: create file maildrop...device Nov 19 10:12:15 test-server postfix/postdrop[21222]: warning: mail_queue_enter: create file maildrop...device Nov 19 10:12:16 test-server postfix/postdrop[25028]: warning: mail_queue_enter: create file maildrop...device Nov 19 10:12:16 test-server postfix/postdrop[28123]: warning: mail_queue_enter: create file maildrop
1 inodes介绍 Linux系统下文件数据储存在"块"中,文件的元信息,例如文件的创建者、文件的创建日期、文件的大小等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。...linux操作系统根目录一般分区比较小,如果有定时性的小文件产生而又未及时清理,则很容易造成inodes占满。...查看文件最多的目录 for i in /*; do echo $i; find $i | wc -l; done 如果确定目录范围,把/*写的具体点 最终发现是/var/spool/postfix/maildrop...目录下小文件过多,原因如下: 由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送给cron所有者。...由于客户环境中的sendmail和postfix没有正常运行,邮件发送不成功,导致全部小文件都堆积在maildrop目录下,另由于缺乏自动清理的机制,故此目录下堆积了大量的文件。
maillog 中发现大量的如下信息 Apr 21 16:56:13 AY140 postfix/postdrop[2377]: warning: mail_queue_enter: create file maildrop...从日志信息中可以知道,postfix 一直往 maildrop 目录下创建文件,现在失败,说明之前肯定成功创建了很多文件,postfix应该就是凶手 但这个maildrop目录具体在哪儿?...搜索资料后,找到了他的绝对路径 /var/spool/postfix/maildrop 看下这个目录占用的空间大小 # du -sh . 4G 多,找对地方了,就是这里的大量文件占用的空间,删掉其中所有文件...在删除 maildrop 文件之前,复制出来了几个文件,内容都是一个命令的报错信息 再查看进程树 # pstree 发现是cron启动了sendmail,sendmail启动了postdrop...大概明白了问题的来源: (1)定时任务执行的程序报错,输出错误信息 (2)系统要通过sendmail把错误信息发给管理员 (3)sendmail会使用postdrop程序将邮件存入postfix队列目录下的maildrop
inodes介绍 Linux系统下文件数据储存在"块"中,文件的元信息,例如文件的创建者、文件的创建日期、文件的大小等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。...linux操作系统根目录一般分区比较小,如果有定时性的小文件产生而又未及时清理,则很容易造成inodes占满。...查看文件最多的目录 for i in /*; do echo $i; find $i | wc -l; done 如果确定目录范围,把/*写的具体点 最终发现是/var/spool/postfix/maildrop...目录下小文件过多,原因如下:由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送给cron所有者。...由于客户环境中的sendmail和postfix没有正常运行,邮件发送不成功,导致全部小文件都堆积在maildrop目录下,另由于缺乏自动清理的机制,故此目录下堆积了大量的文件。
/log/maillog Sep 30 09:28:51 xxxx postfix/postdrop[42358]: warning: mail_queue_enter: create file maildrop...left on device Sep 30 09:28:51 xxxx postfix/postdrop[39782]: warning: mail_queue_enter: create file maildrop...left on device Sep 30 09:28:51 xxxx postfix/postdrop[40086]: warning: mail_queue_enter: create file maildrop...maildrop]# du -sh . 1023M . maildrop]# ll |wc -l 259903 因为这个进程下的文件都是比较早的,所以可以先删除一部分旧文件。...: warning: unable to look up public/pickup: No such file or directory 这个部分对自己来说就是新手了,也不敢妄自乱试验,咨询了下linux
# grep -v rootfs /proc/mounts > /etc/mtab grep: write error: No space left on device 看来是空间不足,找了下发现是 maildrop...4.0K corrupt 4.0K defer 4.0K deferred 4.0K flush 4.0K hold 4.0K incoming 9.4G maildrop...20G 1.7G 18G 9% /usr/local /dev/sda3 103G 63G 35G 65% /data 已经正常了,maildrop.../etc/fstab 文件记录了服务器上硬盘分区信息,启动 Linux 的时候,检查分区的 fsck 命令和挂载分区的 mount 命令都需要 fstab 中的信息,来检查和挂载分区。
第1章 linux无法上网 1) 第一步,先ping域名. ping www.baidu.com 2)再ping一个公网ip , ping 223.5.5.5/223.6.6.6/114.114.114.114...down postfix: [ OK ] 4.2.1 关闭邮件服务后,系统的油价会放入/var/spool/postfix/maildrop.../ [root@znix ~]# ls /var/spool/postfix/maildrop/ |wc -l 12 4.3 [企业案例] 如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中...实例4-1 情况一: 邮件服务关闭 没有定向到空,会导致 /var/spool/postfix/maildrop/ 中有许多小文件 造成磁盘满了,即inode满了....删除小文件的方法 1)大量的小文件 [root@znix tmp]# ls |xargs rm 2)删除文件所在的目录 (权限、所有者、属组) 3)临时开启邮件服务 (只对/var/spool/postfix/maildrop
1.2.1 postfix的邮件队列(mail queues) postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理: 1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到...队列中,然后pickup进程对maildrop中的邮件进行完整性检测。...在流行的linux发行版本RedHat中,我们就使用procmail作为最终的本地投递代理。...延伸程序 EMOS EMOS是一个基于CentOS,集成ExtMail 邮件系统,只需10分钟就可安装配置完毕的小型Linux系统,使安装不再有压力。...环境准备 IP 版本 192.168.1.10 CentOS Linux release 7.6.1810 (Core) 准备域名 实验环境为了方便直接修改hosts文件 [root@localhost
var for i in /var/*; do echo $i; find $i |wc -l|sort -nr; done 举例说明,假如通过反复排查,发现/var/spool/postfix/maildrop...# 一定要先进入要删除的目录下 cd /var/spool/postfix/maildrop/ # pwd命令可以显示当前路径 pwd # 一定要先确认当前路径再执行删除操作 find .
// Linux之inodes溢出问题 // 今天线上出现了一个inode耗尽的问题,最后通过清理磁盘上的小文件来解决问题。大概分享下inode的相关知识。...在Linux操作系统中,文件存储在磁盘上,而磁盘的最小单位是"扇区",每个扇区的大小是512字节,多个扇区组成了"磁盘块"的概念,通常情况下,磁盘的一个块是4kb,也就是8个扇区的大小。...的根目录有大批量的小文件产生而没有清理,则会导致inodes被占满 2、linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送给cron所有者。...由于客户环境中的sendmail和postfix没有正常运行,邮件发送不成功,导致全部小文件都堆积在maildrop目录下,再加上缺乏自动清理的机制,最终导致目录下堆积了大量的文件。...常见的问题是/var/spool/postfix/maildrop目录下小文件过多 3、典型错误场景:root用户下有个每分钟进行一次时钟同步的定时任务,该定时任务每分钟产生一个小文件,不旧就会导致inodes
个为一组 # 使用这个指令是为了避免 "argument list too long " •最后不要忘记了排查问题的原因 最后分享下笔者遇到问题 •我用上诉方法排查出 /var/spool/postfix/maildrop...任务时,会将 cron 执行脚本中的输出信息(output)和告警信息(warning)以邮件的形式发送给 cron 所有者,而我的服务器上关闭了 postfix ,导致邮件发送失败,小文件就堆积在了 maildrop
如:/tmp/empty是root:root,而maildrop之前是postfix:postdrop ,执行之后也会maildrop目录的权限也会变成root:root 。...清空时自动保持之前的目录权限,如下: rsync --delete -rlptD /tmp/empty/ /var/spool/postfix/maildrop/ 为什么rsync这么快呢?
这个时候我没有急于去清理这些进程,而是打算先清理inode,在/var目录下查看在/var/spool/postfix/maildrop下面存在大量的文件。...其实解释明白就很容易理解了,我查看了系统的日志,在问题发生的时间段,确实没有其它的操作,而就是在某一个特定的时间,因为inode溢出导致sendmail,maildrop的进程阻塞, 结果大量的进程都堆积下来了...我查看了一下/var/spool/postfix/maildrop目录下的文件,发现了一个奇怪的情况。
解决邮箱爆满cd /var/spool/postfix/maildrop/1 >/dev/null 2>&22 cd /var/spool/postfix/maildrop; ls | xargs
领取专属 10元无门槛券
手把手带您无忧上云