linux开了多个sendmail,Linux中的Sendmail问题及其解决办法
问题
系统中的定时任务,过一段时间之后,不能运行。通过系统命令查看到系统有大量sendmail进程,导致文件描述符耗尽。以下主要通过分析整个处理过程,供大家参考。
处理过程
根据以上问题,分析步骤如下:
1、首先手动执行了一下定时任务,结果执行失败,通过错误判断是文件描述符被用光了。具体报错如下:
"cannot open
shared object file: Too many open files in system"
2、查看定时任务是否堆积,ps -ef | grep
没有发现任何任务在跑。猜测应该是其他问题导致,具体是什么,不清楚。
3、通过系统命令top看到有多个sendmail进程,然后ps -ef | grep
sendmail,发现大量进程。初步定位应该是sendmail的问题。首先将所有sendmail进程kill掉,然后定时任务可以执行了。一段时间后,重新查看进程,发现又有了一些sendmail进程,进一步定位问题。
/usr/sbin/sendmail
-FCronDaemon -i -odi -oem -oi -t -f root
4、通过pstree发现,sendmail进程是有crond守护进程启动的。crontab怎么会启动sendmail进程?原来crond在执行脚本时会将脚本输出信息以邮件的形式发送给crond用户,但是sendmail进程堆积的原因是什么呢?
init───2*[bash]
├─crond──102*[crond─┬─sendmail]
│└─sh───sh]
5、查看sendmail日志,发现大量的warning告警信息。经查原来是环境的postfix没有正常运行,导致大量sendmail进程阻塞。
postfix/postdrop[23110]:
warning: mail_queue_enter: create file maildrop/749274.23110: No
such file or directory
6、根据博文[1]中的方法,将crontab的第一行添加:MAILTO=””,然后查看确实没有了sendmail进程。
本以为解决了问题,但是过了几天发现系统负载升高,同样的方式查看,发现有了大量的postdrop进程,pstree发现发生了变化,原来postdrop进程是sendmail进程产生的,也就是说sendmail并没有完全解决掉。
init───2*[bash]
|-crond---125*[crond---sendmail---postdrop]
││└─sh───sh]
7、查看sendmail日志(/var/log/maillog),发现大量的warning告警信息,错误显示是权限问题,那么首先查看maildrop目录的权限(/var/spool/postfix/maildrop/),修改权限后,查看没有了该warning信息。
告警信息如下:
postfix/postdrop[21235]:
warning: mail_queue_enter: create file maildrop/577217.21235:
Permission denied
执行命令如下:
chown postfix.postdrop
/var/spool/postfix/public -R
chown postfix.postdrop
/var/spool/postfix/maildrop -R
chmod 777
/var/spool/postfix/maildrop -R(仅修改以上两步时,仍然有告警。)
8、基于稳妥考虑,将/etc/crontab的MAILTO设为"",这样保证crontab不发送日志,也就不会产生sendmail进程了。
9、通过pstree检查进程树状态,crond守护进程不会调用sendmail了,具体如下所示:
init───2*[bash]
├─crond
除此之外,在查看sendmail日志的时候,发现以下告警信息较多,应该是系统设置上有些问题。经查是由于/etc/postfix/main.cf配置文件中,inet_protocols
= all的原因。修改配置为inet_protocols = ipv4后,warning信息没有了。
postfix/postdrop[17405]:
warning: inet_protocols: IPv6 support is disabled: Address family
not supported by protocol
postfix/postdrop[17405]:
warning: inet_protocols: configuring for IPv4 support
only
参考
linux开了多个sendmail,Linux中的Sendmail问题及其解决办法相关推荐
- (linux vm虚拟机网络连接失败,重启网卡失败原因及解决办法)
linux vm虚拟机网络连接失败,重启网卡失败原因及解决办法 0 .vm虚拟机下的网络三种连接方式详解 1. vm虚拟机以及宿主机没有vmnet1 vmnet8 网卡 2 网卡配置文件出错 测试网络 ...
- linux系统出现BUG:softlockup- CPU#7 STUCK FOR 22s 等字样的解决办法并永久生效
linux系统出现BUG:softlockup- CPU#7 STUCK FOR 22s 等字样的解决办法并永久生效 厂家上门维护发现主板坏了,更换新的主板后,发现操作系统登陆不了, 临时解决方案 在 ...
- 【报错解决】linux网络编程报错storage size of ‘serv_addr’ isn’t known解决办法
linux网络编程报错storage size of 'serv_addr' isn't known解决办法 报错如下: server.c:18:21: error: storage size of ...
- [Linux]使用宝塔面板做负载均衡时遇到的问题和解决办法
[Linux]使用宝塔面板做负载均衡时遇到的问题和解决办法 参考文章: (1)[Linux]使用宝塔面板做负载均衡时遇到的问题和解决办法 (2)https://www.cnblogs.com/guan ...
- linux vi 按键删除键出现字母A,B,C,D 等字母解决办法
linux vi 按键删除键出现字母A,B,C,D 等字母解决办法 使用root用户登录系统 使用命令修改vi配置文件 vi /etc/vim/vimrc.tiny 把set compat ...
- redhat enterprise 5 在 VMware 6.5 中中文显示乱码的解决办法
redhat enterprise 5 在 VMware 6.5 中中文显示乱码的解决办法 事情的经过是这样的 记得以前曾经在VMware 5.5.3 上装过redhat 估计是9吧 当初我选的是图形 ...
- Python 爬虫中国知网论文过程中遇到的坑及解决办法
假期,老师给布置了 Python 爬虫中国知网论文的任务,目前实现了登录和搜索功能,先写一下遇到的坑和解决办法吧. Python 爬虫中国知网论文过程中遇到的坑及解决办法 一. selenium 模块 ...
- GDI+中发生一般性错误的解决办法 from http://www.cnblogs.com/winzheng/archive/2008/12/23/1360440.html...
GDI+中发生一般性错误的解决办法 这个错误经常发生,代码如下: private static byte[] GetBytes (Image image) { ...
- Jupyter中打印所有结果的解决办法
学习笔记,仅供参考 Jupyter中打印所有结果的解决办法 我们都知道,在Jupyter中,除非加上print,每个cell只会显示最后一个输出结果,这里,我们通过加上如下代码,使之打印所有的交互式输 ...
- ubuntu18.0.4 不能下载 libgd2-dev(ubuntu 20.04 安装perl 中GD 模块失败的解决办法)
ubuntu18.0.4 不能下载 libgd2-dev 一.错误信息: Unable to locate package libgd2-dev 二.原因 没有对应源 到 https://packag ...
最新文章
- 谜题81:烧焦到无法识别
- python查询结果写入excel_python实现查询的数据写入到excel
- eyoucms问答 百度权重是什么
- mysql 文件组织_数据库如何组织数据?
- centos6 dns转发_CentOS6 配置DNS服务器
- VMware Fusion虚拟机的低分辨率问题(亲测有效)
- Jsp+Servlet+MYSQL注册登录案例(界面难看,ε=(´ο`*)))唉)
- cf1562D Two Hundred Twenty One
- 高效管理ASP.NET的JavaScript库
- python决策树逻辑回归_百面机器学习(逻辑回归以及决策树,leetcode)
- 海龟绘图两小时上手C语言 - 1 绘制直线
- 腾讯还在提高围棋AI绝艺的棋力,柯洁说已经超过当年AlphaGo
- 计算机组成原理微课版(谭志虎主编)预习笔记
- [BZOJ 5339] 教科书般的亵渎
- 班级量化考核系统php代码,班级管理量化考核及评分细则
- android http下载限速,安卓手机端两种让网盘不限速下载方法介绍
- 第一部分 知己知彼
- 六、DOM(上) - 章节课后练习题及答案
- 分布式锁-Redis解决方案和Redisson解决方案
- 02-赵志勇机器学习-Logistics_Regression-test(转载)
热门文章
- Python递归实现快速排序
- 找不到org.springframework.dao.support.DaoSupport的类文件
- opencv与两个摄像头实现双目标定与测距
- oracle查询一个字符串所在表
- 2021高考东莞高中成绩查询,东莞2021高考成绩查询系统入口
- 64位oracle客户端_开发小记-golang连接Oracle数据库配置
- mysql覆盖数据_理解MySQL数据库覆盖索引
- 微信拦截URL,使用自己内置的web组件打开URL,为什么没人声讨?
- 算出当前系统后某个月的日期_Python3.7知其然知其所以然-第十八章 日期函数
- unity获取脚本组件_Unity3D【脚本】获取游戏物体的Animator组件,并且修改动画属性 | 学步园...