我希望在变量更改时触发处理程序.
例如,我在mysql配置文件中有innodb-log-file-size配置项.我希望在更改此项目时执行以下操作:
>确保MySQL正在运行(我们必须从稳定的状态开始)
>在MysqL中运行:SET GLOBAL innodb_fast_shutdown = 0
>停止MysqL
>将/ var / lib / MysqL / ib_logfile [01]移动到备份文件夹
>启动MysqL
>通过运行MySQL查询来检查MysqL是否正常运行
另见:https://dba.stackexchange.com/a/1265/3574
我唯一的问题是如何确定配置文件中的变量(实际上是某些特定文本)已更改.
我对如何解决这个问题的通用方法感兴趣.对于我的具体情况,我想到了几个解决方案.
编辑1:
我正在使用模板模块.
解决方法
您应该能够使用
incrond观察文件的更改.例如(来自链接的文件)
_You need to run program ‘abc’ with the full file path as an argument every time a file is changed in /var/mail. One of the solutions follows:
/var/mail IN_CLOSE_WRITE abc $@/$#
有incrontab(5)手册页也很有用,并包含更多示例.
这只能告诉你文件已经改变(close_write),它将无法告诉你改变了什么.为了找出改变了什么,我认为你需要编写一些脚本.