我在尝试 zcat 包含 SQL 文本的特定 gzip 存档的内容时遇到问题。该问题似乎仅限于一台服务器上的一个特定文件。
我已使用 rsync 将大约 10 个 gzip 压缩的 SQL 文件从备份服务器复制到我试图将它们还原到的新复制服务器。除了一种情况外,在所有情况下,这都工作得很好,只需使用 zcat 将文件通过管道传输到 MySQL 即可。
然而,一个文件是行不通的。尝试对文件执行任何类型的读取操作都会产生错误“操作不允许”
我可以删除、chmod 和 chown 该文件,并确保我对其拥有完全的所有权和权限。它的可见属性似乎与所有其他有效的文件相同。我还可以重命名它并将其移动到同一磁盘上的不同目录中。尝试复制文件、以任何方式读取文件或将其移动到另一个磁盘,但都会生成“不允许操作”错误。我还尝试使用 lsattr 查看属性,但这也会生成相同的错误。
我可以在原始源服务器上读取该文件,并且还可以通过 FTP 将其传输到我的 Windows PC,在那里也可以读取和提取该文件。我什至通过 FTP 将其从原始服务器复制到我的 PC,然后通过 FTP 返回到目标服务器,一旦到达目标服务器,我就无法再次读取它。
我的操作系统是 CentOS 7,有问题的磁盘是一个 ext4 格式的 100G LVM 卷。我已经对它运行了 fsck,它报告为干净。
遗憾的是,提取的 SQL 数据文件太大,无法与要创建的数据库一起放在服务器上,并且实际上太大,无法通过网络从另一台服务器进行提取。
有谁知道什么可能会导致这种行为?我很茫然。
提前致谢。
答案1
最近重新审视这个问题后,我最终发现,在这种情况下,问题是由于我们的基础设施团队在我不知情的情况下在服务器上安装了 McAffee EPO 代理造成的。该代理阻止了对系统上特定大文件(包括相关文件)的访问。