如何监视特定文件夹并将该文件夹中每个日志文件的内容保存到mysql数据库
我们正在为我们的QA人员开发一项服务 主要目标是,我们的web界面的测试人员能够从github分支中选择此特定机器的转储,然后单击Deploy按钮,然后将用于测试的rails应用程序部署到Digital Ocean 我现在正在使用的功能是收集部署日志并通过我们的web界面显示它们 在DO droplet上有一个日志文件夹,其中包含部署期间填充的不同日志文件: 迁移{result{machine\u id}.log、bundle\u result{machine\u id}.log等 其中{machine_id}是我们服务上部署的机器的id,而不是水滴id 在remote_syslog gem的帮助下,我们正在监控每个水滴上的日志文件夹,并通过udp将它们发送到我们的主服务服务器,在rsyslog的帮助下,我们将它们存储在特定的文件夹中,比如/var/log/deplogs/ 因此在/var/log/deplogs/中,我们有: 迁移\u结果\u 1.log、捆绑\u结果\u 1.log、 迁移\u结果\u 2.log、捆绑\u结果\u 2.log、, 迁移\u结果\u n.log、捆绑\u结果\u n.log 我需要如何监视此文件夹并将每个日志文件的内容保存到mysql数据库 我需要实现如下Ruby代码:如何监视特定文件夹并将该文件夹中每个日志文件的内容保存到mysql数据库,mysql,ruby-on-rails,ruby,linux,rsyslog,Mysql,Ruby On Rails,Ruby,Linux,Rsyslog,我们正在为我们的QA人员开发一项服务 主要目标是,我们的web界面的测试人员能够从github分支中选择此特定机器的转储,然后单击Deploy按钮,然后将用于测试的rails应用程序部署到Digital Ocean 我现在正在使用的功能是收集部署日志并通过我们的web界面显示它们 在DO droplet上有一个日志文件夹,其中包含部署期间填充的不同日志文件: 迁移{result{machine\u id}.log、bundle\u result{machine\u id}.log等 其中{mac
Machine.find(#{machine_id}).logs.create!(text: "migrations_result_#{machine_id}.log contents")
Rsyslog似乎无法实现这一点。还是我遗漏了什么?
有什么建议吗
提前谢谢,我的英语很抱歉,我希望你能明白我的意思。首先,祝贺你!你正面临一个美丽的问题。我的建议是使用分而治之的方法 以下是我的考虑: 将相关文件夹置于版本控制之下,例如GIT 通过GIT命令检查每X时间更改一次的文件。 还可以获取每个文件的早期版本与新版本之间的差异,这样您就可以通过解析新信息来更新数据库。 为了以防万一,我们提供了一些从ruby调用系统命令的方法 希望有帮助