df  17% 正常

df -i 100%

inode耗尽。

find */ ! -type l | cut -d / -f  | uniq -c

查出占用lnode最大的目录是

/var/spool/exim4/input

居然有15W多个小文件

exim4是邮件服务器。

奇怪,这服务器根本就没有作邮件服务。

如果不是出现这次的异常,我根本不知道服务器有装exim4。

删光后,文件又一点点冒出来了。

打开其中一看。立马闻到了“坏味道”。

捉到狐狸尾巴了。

1a5aTr-0006zH-5Z-D/home/ftp_tmp/-----.tmp
Traceback (most recent call last):
File "/root/name/bcp_76_wb.py", line , in <module>
ftp.connect("61.163.86.10","",)
File "/usr/lib/python2.7/ftplib.py", line , in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "/usr/lib/python2.7/socket.py", line , in create_connection
raise err
socket.error: [Errno ] Connection refused

这明明就是错误日志,而且是python的,服务器上确实有跑其他开发的人员的python项目。

再打开几个

1a5Aso-0003rm-UL-D
&* 数目 :
&*数目 :
(vsFTPd 2.3.)
20151205192002100_139_410100_748836377_004.log
20151205192002100_139_410100_748836377_004.log.ok
20151205192002100_139_410100_748836377_009.log
20151205192002100_139_410100_748836377_009.log.ok
20151205192002100_139_410100_748836377_011.log
20151205192002100_139_410100_748836377_011.log.ok
request ok
root@srv1-:/var/spool/exim4/input# vim 1aCPgF-0008U0--H

-allow_unqualified_sender
-deliver_firsttime
-local
XX root@debian 166P Received: from root by srv1-.localhost with local (Exim 4.80)
(envelope-from <root@debian>)
id 1aCPgF-0008U0-
for root@debian; Fri, Dec :: +
* From: root (Cron Daemon)
032F From: root@debian (Cron Daemon)
* To: root
016T To: root@debian
Subject: Cron <root@srv1-> python /root/xiaoyun/audit_top_cron.py
Content-Type: text/plain; charset=UTF-
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
050I Message-Id: <E1aCPgF-0008U0-@srv1-.localhost>
Date: Fri, Dec :: +

都是python的。

该服务器,有多个项目,我个人既开发又维护。

原因是

系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,系统有装邮件服务器,则会写到邮件服务器的队列。如果没有邮件服务器会写入/var/spool/clientmqueue目录。

而python正好是cron启的,日志就全跑/var/spool/exim4/input了,把lnode用光了。

我个人负责go/nodejs/java项目,项目都写为服务开机启动

python的程序是由另一名人员开发部署,靠cron定时检测,检测未启则启动。

比开机启动要健壮,服务器运行了4个多月,出现了这个问题。

修改办法,把cron任务的输出重定向 即在计划任务后加上> /dev/null 2>&1

解决。

lnode满,维护记录的更多相关文章

  1. Gitlab维护记录

    目前互联网公司主流的代码仓库统是gitlab,类似github的实现,维护gitlab已经有两年多的时间, 下面说一下维护过程中的注意点,以及如何维护更好. 分别是搭建,首先得搭建起来,不然怎么玩,其 ...

  2. Gerrit日常维护记录

    Gerrit代码审核工具是个好东西,尤其是在和Gitlab和Jenkins对接后,在代码控制方面有着无与伦比的优势. 在公司线上部署了一套Gerrit系统,在日常运维中,使用了很多gerrit命令,在 ...

  3. 阿里云 django的一次web维护记录

    首先, 丢给我一个阿里云的server的账号/password,之前没有玩过阿里云,想想应该也是ssh服务来远程登陆. 环境: centos+nginx+uwsgi+python2.7+django. ...

  4. UX168办公本地环境维护记录

    上班到公司 1.打考勤靠.或处理考勤异常 2.钉钉 3.邮件. 4.禅道系统 5.开启nginx.node.monogo服务 5.1.开启nginx服务 /etc/init.d/apache2 sto ...

  5. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

    vsftpd日志配置及查看 vsftpd ftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现.主配置文件中与日志设置有关的选项包括xferlog_enable .xfe ...

  6. 泰克 Tektronix THS720A 示波器 显示屏维修记录

    THS720A 示波器 显示屏维护记录 打开后看到显示屏是 LM32P10 的型号,在网上找了一圈都要 1000 块左右. 看了一个规格书 Sharp 的,已经停产. 下一步看看有没有替代的.

  7. mysql 记录一次内存清理

    摘自:https://blog.csdn.net/wyzxg/article/details/7279986/ 摘要:Linux对内存的管理与Windows不同,free小并不是说内存不够用了,应该看 ...

  8. JVM-3.内存

    目录 一.运行时数据区 二.内存使用细节:以HotSpot的堆为例 三.实战:OutOfMemoryError异常 四.垃圾收集器(堆+方法区)与内存分配策略       一.运行时数据区 1.程序计 ...

  9. [13]Windows 内核情景分析 --- 网络通信

    典型的基于tcpip协议套接字方式的网络通信模块层次: 应用程序 socket api WS2_32.dll socket irp Afd.sys tdi irp Tcpip.sys 回调函数接口 各 ...

随机推荐

  1. 项目中遇到的各种bug和踩过的坑

    zepto 赋值时单位转换问题 zepto 的 animate 方法移动某个元素的位置时,例如修改某个绝对定位的元素的 left 值,要与修改前的值单位一致,修改前如果是像素值,修改后也要是像素值,否 ...

  2. function语句和function表达式的随笔

    function语句: function fn(){};/*利用function关键字声明,其在作用域顶端*/ function表达式: var fn = function(){};或者 var fn ...

  3. Cacti:添加监控磁盘IO

    来自:http://blog.sina.com.cn/s/blog_61c07ac50101gkzp.html 1.检查net-snmp是否支持IO监控 snmpwalk -v 1 -c public ...

  4. 常见HTTP状态码(200、301、302、500等)

    HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码.状态码的第一个数字代表了响应的五种状态之一. 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理.由于 HTT ...

  5. delphi数据类型及占用的字节数 C++ 对应数据类型

    delphi byte:1个字节. int/Integer: long: long long:8字节,64位 shortInt:2字节,16位 LongInt:4字节,32位 Int64:8字节,64 ...

  6. curl post方法

    * [curl_post curl post方式请求接口] * @param [type] $url [接口的url] * @param [type] $data [传递的参数] * @return ...

  7. Memcached安装配置及访问

    1.Memcached键值对访问,对于网页来说,key需要使用uri. 2.Memcached的相关配置 memcached:缓存服务器,但本身无法决定缓存任何数据 一半依赖于客户端,一半依赖于服务端 ...

  8. Web应用程序项目XX已配置为使用IIS

    今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如 ...

  9. C# 异常:从作用域“”引用了“FiasHostApp.Entity.DBEntity.FIAS_RM_v1.ITraNetMgrUnitBaseInfoRecord”类型的变量“w”,但该变量未定义

    C# 异常:从作用域“”引用了“FiasHostApp.Entity.DBEntity.FIAS_RM_v1.ITraNetMgrUnitBaseInfoRecord”类型的变量“w”,但该变量未定义 ...

  10. [转]Redmine 配置163邮箱

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...