我注意到有时 amavis 没有运行。
我以为 monit 正在监视该过程,但它似乎没有警告我或修复它。
我的 monitrc 条目如下所示,我可以确认使用 monit 启动/停止该过程有效:
check process amavisd with pidfile /var/run/amavis/amavisd.pid
group mail
start program = "/etc/init.d/amavis start"
stop program = "/etc/init.d/amavis stop"
if failed port 10024 protocol smtp then restart
if 5 restarts within 5 cycles then timeout
depends on amavisd_bin
depends on amavisd_rc
check file amavisd_bin with path /usr/sbin/amavisd-new
group mail
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor
check file amavisd_rc with path /etc/init.d/amavis
group mail
if failed checksum then unmonitor
if failed permission 755 then unmonitor
if failed uid root then unmonitor
if failed gid root then unmonitor
我该如何解决这个问题?
答案1
我认为正确的 pidfile 路径是/var/run/amavisd/amavisd.pid
d
因此您在“ amavisd
”目录名称中缺少“ ”。
启动和停止可以工作,因为启动/停止路径没问题,但是找不到 pid 文件。
答案2
首先检查 monit 配置中的所有测试是否有效。
- 配置文件是否具有有效的语法?
- 确实
/var/run/amavis/amavisd.pid
存在? /etc/init.d/amavis
启动和停止功能有效吗?- amavis 是否正在监听端口 10024 协议 SMTP?
/usr/sbin/amavisd-new
存在吗/etc/init.d/amavis
?
monit summary
然后你应该继续检查和的输出monit status verbose
,看看输出是否能帮助你找到问题。
这可能是 monit 的问题,也可能是 amavis 的问题。或者两者兼而有之。如果您发布更多信息(例如 的输出monit summary
),我将编辑此答案以提供更多帮助。