Centos7 修改systemd-halt.service 捕获关机系统运行级别并输出到指定文件下
时间: 2024-01-13 19:03:11 浏览: 27
好的,你可以按照以下步骤实现:
1. 打开 `/usr/lib/systemd/system/systemd-halt.service` 文件:
```
sudo vi /usr/lib/systemd/system/systemd-halt.service
```
2. 在 `ExecStart` 行中添加重定向操作符 `>>`,将运行级别的信息输出到指定文件中。例如:
```
ExecStart=/usr/bin/logger -t "systemd-halt" "System is powering off, current runlevel: $(runlevel)" >> /path/to/shutdown.log 2>&1
```
这里将运行级别的信息输出到 `/path/to/shutdown.log` 文件中,并将错误信息也重定向到该文件中。
3. 创建该文件并设置权限,使得系统用户可以写入该文件:
```
sudo touch /path/to/shutdown.log
sudo chmod 666 /path/to/shutdown.log
```
4. 重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
现在,当你关机时,系统将记录当前的运行级别,并将其输出到指定的日志文件中。你可以通过查看 `/path/to/shutdown.log` 文件来查看运行级别的信息。
相关问题
Centos7 修改systemd-halt.service 捕获关机系统运行级别输出到指定文件下
如果你想将运行级别的信息记录到指定的文件中,而不是系统日志中,可以在 `ExecStart` 行中添加重定向操作符 `>>`,例如:
```
ExecStart=/usr/bin/logger -t "systemd-halt" "System is powering off, current runlevel: $(runlevel)" >> /var/log/shutdown.log
```
这将把运行级别的信息输出到 `/var/log/shutdown.log` 文件中。
然后,你需要创建该文件并确保它可以被系统用户写入。你可以使用以下命令创建文件并设置权限:
```
sudo touch /var/log/shutdown.log
sudo chmod 666 /var/log/shutdown.log
```
这将创建一个空文件并设置权限,使得系统用户可以写入该文件。
完成以上步骤后,重新加载 systemd 配置并测试一下关机是否能够正常记录运行级别到指定的日志文件中:
```
sudo systemctl daemon-reload
sudo systemctl halt
```
之后你可以通过查看 `/var/log/shutdown.log` 文件来查看运行级别的信息。
Centos7 修改systemd-halt.service 捕获关机系统运行级别
明白了,你想要修改 `systemd-halt.service` 来捕获关机时的系统运行级别。
首先,你需要编辑 `/usr/lib/systemd/system/systemd-halt.service` 文件,可以使用以下命令打开文件:
```
sudo vi /usr/lib/systemd/system/systemd-halt.service
```
在该文件中,你需要找到以下行:
```
ExecStart=/usr/bin/systemctl halt
```
将其替换为以下两行:
```
ExecStart=/usr/bin/logger -t "systemd-halt" "System is powering off, current runlevel: $(runlevel)"
ExecStart=/usr/bin/systemctl halt
```
这将在关机时使用 `logger` 命令记录当前运行级别,并将其输出到系统日志中。你可以使用 `journalctl` 命令查看日志,例如:
```
sudo journalctl -u systemd-halt
```
这样就完成了修改,保存文件并退出编辑器。然后,重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
现在,当你关机时,系统日志将记录当前的运行级别。