我有一个文件,该文件由ubuntu服务器上运行的服务定期写入。我有一个当前正在计时器上运行的服务,该服务检查写入文件中先前状态的更改,并在更改后更新mysql数据库表。我想设置某种服务,该服务可以立即告诉何时对文件进行了更改,而不是等待计时器触发,但是我还没有看到如何使用systemd设置文件监视。
用于此目的的systemd机制是路径单位,在其中您可以使用PathChanged
或PathModified
设置来命名要观看的文件,具体取决于编写者对文件的写入方式。
如果它正在写入整个文件并每次都关闭它,则PathChanged
避免了的陷阱PathModified
,如果整个修改涉及多次写入而仅写入文件的一部分,则容易过早激活。但是,另一方面,PathChanged
即使该文件仅由写入者打开以进行写入而从未实际写入,也可能被触发。
您可以将路径单元命名为与关联的服务单元相同的名称,也可以使用Unit
设置。当然,如果没有多余的计时器,则与之相关的服务单元将是将文件内容传输到数据库的服务。当文件中发生相关更改时,路径单元会导致服务单元被激活(如果尚未激活)。这就是所谓的路径激活。
systemd.unit
。系统手册页。freedesktop.org。systemd.path
。系统手册页。freedesktop.org。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句