一、问题说明

/var/spool/mqueue目录下出现了多个df打头的文件,导致/var空间最终100%

EBANK_P570_MAIN/var/spool/mqueue#ls -ltotal 8732656-rw-r--r--    1root     system          571 Aug 20 2012  Qfq7JGw5K21643126-rw-r--r--    1root     system          569 Aug 23 2012  Qfq7MGvxch987418-rw-r--r--    1root     system          572 Jun 25 02:00 Qfs5OHxF6d1339552-rw-r--r--    1root     system          570 Jul 04 01:59 Qfs63HwefO1359972-rw-r--r--    1root     system          773 Jul 04 02:02 Qfs63I1DfN1790554-rw-r--r--    1root     system          570 Jul 06 02:00 Qfs65Hx5Vq1315640-rw-r--r--    1root     system          773 Jul 06 02:02 Qfs65I16Vp1483544-rw-------    1root     system          760 Jul 06 02:39 Qfs65IaKdR1397376-rw-r--r--    1root     system          573 Jul 07 00:58 Qfs66GvJMf1332120-rw-r--r--    1root     system            0 Aug 23 2012  dfq7JGw5K21643126-rw-r--r--    1root     system            0 Aug 23 2012  dfq7MGvxch987418-rw-r--r--    1root     system   1153011528 Jul 06 02:00 dfs65Hx5Vq1315640-rw-r--r--    1root     system   1153012885 Jul 06 02:02 dfs65I16Vp1483544-rw-------    1root     system   1153012885 Jul 06 02:39 dfs65IaKdR1397376-rw-r--r--    1root     system   1011801454 Jul 07 00:58 dfs66GvJMf1332120

二、原因分析:

1、查询资料:/var/spool/mqueue目录包含与队列中的每条消息关联的临时文件。即发送邮件前存放邮件的临时目录,每个定时任务执行时的输出结果都会以邮件的形式通知用户,邮件队列目录是/var/spool/mqueue,邮邮件队列包含四类邮件队列文件:数据文件、控制文件、临时文件和抄本文件。文件的格式如下:

dfAA00312     数据文件

qfAA00312     控制文件

tfAA00312     临时文件

xfAA00312     抄本文件

2、进一步查看文件的内容,是crontab执行/ora_backup/rep/repsj/imp.sh脚本生产了大的mail邮件,导致/var空间满

EBANK_P570_MAIN/var/spool/mqueue#more dfs66HxcE51216754Cron Environment:SHELL =/usr/bin/shPATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/binCRONDIR=/var/spool/cron/crontabsATDIR=/var/spool/cron/atjobsLOGNAME=oracleHOME=/oracleYour "cron" job executed on EBANK_P570_MAIN onMon Jul  7 00:40:00 BEIST 201exportBATCH_AUTO_RUN=Y; . ./.profile; sh /ora_backup/rep/repsj/imp.shproduced the following output:2014042320140706。。。。。

3、原因确认:由于crontab中的脚本输出内容过多,导致mail过大,最终/var空间满,因此解决方法如下

a,脚本的输出重定向到/dev/null,由于脚本不再有输出,也就不会有邮件发出

* * * * * a.sh> /dev/null 2>&1.

b,crontab的前面添加MAILTO=""

$ crontab -e

At the top of the file, enter:

MAILTO=""

4、补充确认,通过监控系统趋势图确认原因

最近系统/var的利用率图可以看出,

1),最近/var空间的利用率一直在缓慢增长,6月26日左右有一个突然增长,但最近才出现了100%的问题

2),每晚其实都有个利用率的高峰,但是到了6点钟,利用率就下降为正常了,这是因为6点钟定时任务清空了oracle用户的mail

EBANK_P570_MAIN/#crontab -l oracle

0 6 * * *   cat/dev/null > /var/spool/mail/oracle

3),为什么大文件会出现在/var/spool/mqueue目录?

通过在测试机测试,

a, crontab生产的输出最先放在/tmp目录下,(对应图2 /tmp0:30开始空间利用率不断增加)

b, crontab命令执行结束后,mv到/var/spool/mqueue目录下准备发送邮件给oracle用户,(此时/var空间突然增长)

c, 正常情况下oracle用户接受,放在/var/spool/mail/oracle文件中

d, 6点执行的定时任务情况oracle的mail邮件,对应图1的/var突然下降

4,今日凌晨为什么没出问题?

由于/var昨日清理的比较彻底,mqueue目录能够保存了需要发送的邮件,空间从9%增加到42%,然后6点钟被清空

图1:/var空间利用率图

图2 、/tmp文件系统利用率

图3、今天/var利用率

 

三、解决方案

1、临时解决方法:

快速清理方案,转移大数据文件到/backup/目录下

mv /var/spool/mqueue/df* /backup/

2、永久解决方案,因此也建议脚本的书写要重定向,特别是有大量结果输出的执行脚本

脚本重定向到/dev/null,防止出现大日志文件

文件系统/var空间100%的问题相关推荐

  1. linux xfs文件系统磁盘空间lv扩展

    文章目录 前言 一.明确文件系统类型 二.注意事项 1.取消nfs的挂载 2.确定是否有free空间 3.缩小大空间目录 4.为xfs文件系统 /u01 进行扩展 5.为xfs文件系统 / 进行扩展 ...

  2. linux文件系统 var,Linux文件系统

    /:根目录 /bin:二进制,可执行命令 /sbin:可执行命令,仅用于管理,通常只有管理员才有权限使用. /boot:引导,操作系统用于引导系统启动的文件,一般指内核,grub /dev:设备文件 ...

  3. Window10 系统休眠或睡眠状态恢复-占用磁盘空间 100% 问题以及解决方法

    Window10 系统休眠或睡眠状态恢复-占用磁盘空间 100% 问题以及解决方法 系统环境版本 排除问题过程 解决问题 总结 不知从何时开始,电脑就不定期变的非常卡,尤其是笔者平时不关机,下班都是按 ...

  4. /var空间满了,简单处理一下

    /var空间满了,简单处理一下 之前装openSUSE玩的时候,/var只给了1G的空间,用了1年多以后,突然提示说/var空间满了,然后接着系统卡死,最后彻底没辙,重启试试,没想到提示什么系统错误, ...

  5. 虚拟机 Win10 磁盘扩展 “文件系统的空间不足,无法...” VMware 15 C盘扩展 磁盘扩容 VMware Workstation 显示 提示

    文章最后更新于2022.11.22,13:08pm,希望对你有帮助 目录 不知道写啥,按顺序看吧,哈哈 看!虚拟机的Win10 C盘已经红了,为了增加C盘的容量,删了重新安装一个Win10的方法太过麻 ...

  6. 通过xtts迁移单实例文件系统表空间到RAC ASM存储表空间

        xtts迁移文件系统表空间到文件系统表空间可参考,oracle小知识点14--xtts传输表空间 http://blog.itpub.net/28539951/viewspace-197840 ...

  7. CentOS7 单独分区var空间不足问题

    我安装的时候给var单独进行分区,分配了1G,使用的时候提示/var空间不足. 解决办法:使用软链接指向空间大的区域. 我的/home分配的最大,然后var下的cache目录比较大,就将cache移动 ...

  8. linux var空间不够,linux,ubuntu_/var空间不足怎么办?(求安全保险的方法),linux,ubuntu - phpStudy...

    /var空间不足怎么办?(求安全保险的方法) 最近想把Ubuntu从12.04升级到13.10,可/var目录下的空间不足,怎么处理这个问题?提示需要850M多的空间,可从以下的信息来看,里面的东西我 ...

  9. linux var 空间不足,/var空间不足怎么办?(求安全保险的方法)

    最近想把Ubuntu从12.04升级到13.10,可/var目录下的空间不足,怎么处理这个问题?提示需要850M多的空间,可从以下的信息来看,里面的东西我几乎是没得删除了. # du -h --max ...

最新文章

  1. 让程序员头疼的文档问题怎么破?试试活文档
  2. ​阿里达摩院金榕:从技术到科学,中国 AI 将何去何从?
  3. JS实现HashMap
  4. 学习嵌入式系统需要具备的条件、方法及步骤
  5. GitHub趋势榜第一:用小姐姐自拍,生成二次元萌妹子,神情高度还原,反过来也可以...
  6. 058_JavaScript函数arguments对象
  7. MyBatis入门2
  8. Activiti总体框架分析
  9. c语言程序设计开封电大,最新电大《C语言程序设计》题库及答案.docx
  10. HDU - 6356 Glad You Came(线段树)
  11. 最全的C++面试题来啦!(来自各大一线互联网)
  12. vue项目中iview表单验证 this.$refs[name].validate(valid = { }无效
  13. GoDaddy域名续费省钱妙招及取消隐私保护的方法
  14. win10修改服务器IP,Win10系统更改本地连接ip地址的方法
  15. 印象笔记如何分享链接_印象笔记共享问题解决经过
  16. PHP沉思录之三:Smarty
  17. 什么软件测试情侣头像,情侣头像另一半怎么找,请问什么软件可以找出
  18. 静态单赋值(二)—gcc中的SSA化算法
  19. 记录一下unity3d资源加载Resources.Load资源加载的坑
  20. 查看Win10激活剩余时间

热门文章

  1. 微信小程序支付-java对接微信
  2. 程序员疯传「编程语言鄙视链」,究竟谁能逃过一劫?
  3. 我的压箱底,500G视频网盘分享
  4. (学习记录)Win32开发之键盘
  5. 再谈UI设计的入门与进阶
  6. C++课程实训——银行系统
  7. 1944 Problem D 八进制
  8. Centos7常用指令
  9. 51单片机的特殊功能寄存器
  10. Copyright©到底是什么意思?