Linux

我如何知道是否需要執行 systemctl daemon-reload

  • November 10, 2021

有沒有辦法知道目前執行的配置已經過時了?有沒有辦法查看目前執行的配置並將其與文件進行比較?

在執行重新載入之前知道正在執行的配置是什麼對於故障排除很有價值。如果該命令會告訴我它是否真的更新了配置,這也很有價值。

您可以通過命令檢查載入的單元systemctl show <unit>.service。據我所知,沒有工具可以檢查單元文件的更改。

您也可以執行這個 bash 命令for var in $(systemctl | grep running | awk '{print $1}'); do systemctl status $var | grep "changed on disk" | grep ".service"; done,它會顯示哪些文件已更改。

例子:

[root@centos-linux atolkachev]# for var in $(systemctl | grep running | awk '{print $1}'); do systemctl status $var | grep "changed on disk" | grep ".service"; done
Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.

引用自:https://serverfault.com/questions/855042