我可以通过 SQL 界面询问 Linux 操作系统吗?

我可以通过 SQL 界面询问 Linux 操作系统吗?

例如 crontab。我不想解析它。我想运行一个 sql 查询,而不是(至少)一个符合 jdbc 的连接(由 Linux 自动提供,返回的正是该连接)。

但我的意思是 - 不只是针对 crontab。人越多越好。设备、服务。我知道其中一些最终由文件系统上的文件支持,但我不在乎,我现在想要一个免费的关系抽象 :-)。

我发现通过字符串解析文件来获取信息非常繁琐,我更喜欢使用老式的 SQL 来获取我需要的信息。

与此相关的东西是否已经存在?

否则,这是个坏主意吗?如果是,为什么?

答案1

看一下osquery它为许多系统区域提供了 SQL 接口,包括定时任务.它是跨平台的并且是免费的。

来自 osquery 网站:

osquery 可让您轻松询问有关 Linux、Windows 和 macOS 基础架构的问题。无论您的目标是入侵检测、基础架构可靠性还是合规性,osquery 都可让您为公司内的众多组织提供支持和信息。

答案2

这是一个坏主意——在我看来,它实际上毫无意义,因为 Linux 保存的信息大部分不适合关系数据库表示。

您谈到文件字符串解析很困难 - 但您在这里的意思不清楚。当然,Linux 中的大多数工件都可以作为文件访问,但是有前端工具可以处理和操作这些工件。

切向相关 -操作系统- 似乎是微软尝试创建数据库文件系统,但似乎从未实现。维基百科条目很有趣,但即使存在,它也不是操作系统的完整接口,而是文件系统的接口。

我找不到任何在 Linux 下实现此目的的项目,但我认为理论上可以创建一个 Linux shell(可能与 FUSE 结合使用)。我确实找到了一个项目名称GLSCube- 它会看到一些类似的东西[用于处理文件] - 虽然不是基于 SQL - 但它似乎已经胎死腹中。

答案3

我能想到的最接近的接口是通过 SMTP 协议。

我想不出任何方法可以安全地实现可以使用 SQL 查询的接口。

有一些程序可以将日志记录存储在数据库中。如果您要查询日志数据,请寻找日志分析工具。

相关内容