Exim 不会启动使用 systemctl 但会通过 exim debug 启动

Exim 不会启动使用 systemctl 但会通过 exim debug 启动

我遇到了 Exim4 无法启动/重新启动/重新加载的问题... 任何操作都无法通过/etc/init.d/exim4nor进行systemctl start exim4... 控制台上均无输出 - 启动过程无限期挂起。但是,当我通过 进行调试启动时exim -bd -d,exim 会加载,输出中没有明显的错误。

Systemctl & init.dscrip 没有记录启动脚本失败的原因。我也有点困惑为什么它会挂起...更奇怪的是,在启动服务失败约 20 分钟后,系统“不知何故”恢复了 Exim,状态开始报告服务为(正在运行)

状态输出显示

root@mail:/usr# systemctl status exim4
● exim4.service - LSB: exim Mail Transport Agent
     Loaded: loaded (/etc/init.d/exim4; generated)
     Active: inactive (dead) since Wed 2023-03-15 15:49:00 CET; 18min ago
       Docs: man:systemd-sysv-generator(8)

Mar 15 15:48:35 mail systemd[1]: Starting LSB: exim Mail Transport Agent...
Mar 15 15:48:36 mail exim4[8814]: Starting MTA: exim4.
Mar 15 15:48:36 mail systemd[1]: Started LSB: exim Mail Transport Agent.
Mar 15 15:49:00 mail systemd[1]: Stopping LSB: exim Mail Transport Agent...
Mar 15 15:49:00 mail exim4[9454]: Stopping MTA: exim4_listener.
Mar 15 15:49:00 mail systemd[1]: exim4.service: Succeeded.
Mar 15 15:49:00 mail systemd[1]: Stopped LSB: exim Mail Transport Agent.

任何关于如何调试这个问题的见解都将不胜感激,因为我不想在重新启动服务时等待很长时间。

[pid 30258] recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\0013\3\0\0\22\0\0\0\266\0\0\0\1\1o\0.\0\0\0", iov_len=24}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 24
[pid 30258] recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="/org/freedesktop/systemd1/unit/m"..., iov_len=995}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 995
[pid 30258] recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\254\3\0\0\23\0\0\0\266\0\0\0\1\1o\0.\0\0\0", iov_len=24}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 24
[pid 30258] recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="/org/freedesktop/systemd1/unit/m"..., iov_len=1116}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = 1116
[pid 30258] recvmsg(3, {msg_namelen=0}, MSG_DONTWAIT|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
[pid 30258] ppoll([{fd=3, events=POLLIN}], 1, NULL, NULL, 8

答案1

好的,我实际上弄清楚了发生了什么,但我完全不确定这有什么关系......

事情是这样的,我的 mysql-community-server 完全损坏了(Exim4 不会将 MySQL 用于任何用途...),但无论如何。完全重新安装 MySQL 后,Exim4 开始正常运行 - 即启动、停止和重新加载均能正常工作,没有任何长时间的延迟。

答案2

尝试重建 Exim 使用的任何数据库。

Exim 可以使用多种方式,例如 MySQL:路由/配置、虚拟域/用户、白名单/黑名单和日志记录/统计。

https://www.exim.org/exim-html-current/doc/html/spec_html/ch-file_and_database_lookups.html

我知道在我见过的服务器上,eximstats 使用的是 MySQL。用户经常会以不同的方式填满他们的驱动器或使他们的服务器过载,而 eximstats 和 MySQL 经常会崩溃,这暗示着它们存在问题。

相关内容