如何列出所有目录以及该目录中文件内的特定行

如何列出所有目录以及该目录中文件内的特定行

我的服务器托管了许多用于测试/开发目的的网站。我的问题是我的 mysql 服务器负载约为 95%。因此,我想列出 config.php 中的所有目录和数据库行。例如

like foo-dev : db@mysql01

答案1

您应该能够使用该find命令递归地搜索文档根目录中的config.php文件,然后将结果传递给grep命令来检查您的搜索字符串,例如

find /var/www -name 'config.php' -exec grep -l 'db@mysql01' {} \;

标志-l告诉grep它输出文件的完整名称(包括父目录)而不是实际匹配的文本。如果您使用非标准文件位置,则可能需要修改 /var/www/ 部分。NB:我不知道 db@mysql01 是否实际上是合适的搜索字符串 - 它可能需要类似于 db_name = xxx。

或者,您可以尝试检查您的 mysql 和/或 web 服务器日志,或者使用网络工具来lsof识别哪些进程与 mysql 服务器有打开的连接。

相关内容