Jeff Asked: 2022-03-18 05:16:52 +0800 CST2022-03-18 05:16:52 +0800 CST 2022-03-18 05:16:52 +0800 CST 如何发送 systemd 开始 - 停止 - 将系统日志消息重新加载到文件 772 我想将 Start/Stop/Reload systemd 消息发送到特定文件。具体来说,mysqld 似乎没有向log-error文件发送守护进程启动/停止消息,所以我想在日志中有一些东西表明成功/失败。 我现在正处于一个搞乱ExecStartPostand的地步ExecStopPost,但必须有更好的方法。灵感在这里。 systemd logs 1 个回答 Voted Best Answer Jeff 2022-03-19T05:07:42+08:002022-03-19T05:07:42+08:00 这似乎很好地工作/lib/systemd/system/mysql.service: [Service] ExecStart=/usr/sbin/mysqld --daemonize ExecStartPost=/bin/bash -c "DATE=$(date --iso-8601=seconds); \ PID=$(/usr/bin/systemctl show -p MainPID mysql |sed 's/MainPID=//'); \ /usr/bin/echo $${DATE} '[systemd] Starting MySQL Server... PID:' $${PID} \ >> /var/log/error-mysql.log" ExecStopPost=/bin/bash -c "DATE=$(date --iso-8601=seconds); \ PID=$(/usr/bin/systemctl show -p MainPID mysql |sed 's/MainPID=//'); \ /usr/bin/echo $${DATE} '[systemd] Stopping MySQL Server... PID:' $${PID} \ >> /var/log/error-mysql.log" 输出: 2022-03-18T08:59:18-04:00 [systemd] Starting MySQL Server... PID: 1166 2022-03-18T08:59:28-04:00 [systemd] Stopping MySQL Server... PID: 0 2022-03-18T08:59:46-04:00 [systemd] Starting MySQL Server... PID: 1216 2022-03-18T08:59:58-04:00 [systemd] Stopping MySQL Server... PID: 0 2022-03-18T08:59:59-04:00 [systemd] Starting MySQL Server... PID: 1263
这似乎很好地工作
/lib/systemd/system/mysql.service
:输出: