Linux Systemctl – When to Run Daemon-Reload

bashlinuxsystemctlsystemd

Is there a way to know the current running config is outdated? Is there a way to view the current running config and compare it to the file?

It would be valuable for troubleshooting to know what the running config was before running reload. Also valuable if the command would tell me if it actually updated the config.

Best Answer

You can check loaded unit by command systemctl show <unit>.service. As far I know there is no tool to check changes in unit files.

As well you could run this bash command for var in $(systemctl | grep running | awk '{print $1}'); do systemctl status $var | grep "changed on disk" | grep ".service"; done it would show what files has been changed.

Example:

[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.