【问题标题】:Perl script to check file exists in Linux file system用于检查文件是否存在于 Linux 文件系统中的 Perl 脚本
【发布时间】:2017-06-14 18:45:40
【问题描述】:

我在生产服务器上工作。我想检查每天生成的文件,并通过电子邮件发送报告,比如每天生成的文件。我喜欢使用 perl 脚本,我可能会在不同的服务器上运行脚本,所以我的脚本应该检查文件生成的其他服务器。它还检查文件头和尾。请指导我如何检查不同的系统以及如何生成邮件内容取决于文件是否存在条件,即是否所有文件都存在内容类似于生成的所有文件,并且它包含带有文件名和文件状态的表是否存在。如果文件不存在,文件名应突出显示,内容应类似于未生成的丢失文件,请调查...给我一些想法。谢谢

总结:

只检查文件是否存在,使用 header 和 trailing check 。生成为文件名和状态为 1 或 0 的表格格式的邮件。如果未生成,则使用 perl 突出显示这些文件

【问题讨论】:

  • 这个问题写的太宽泛了。您必须更具体地说明您的问题到底是什么。
  • 只检查文件是否存在,使用 header 和 trailing check 。生成为文件名和状态为 1 或 0 的表格格式的邮件。如果未生成,则使用 perl 突出显示这些文件
  • @MattJacob 现在可以了吗?
  • 你只是稍微重申了你原来的问题!请tourStack Overflow学习How to Ask好的问题,然后edit你的问题相应。

标签: perl file using exists


【解决方案1】:

您可以使用检查文件是否存在

if(-e "filename"){
  #file exists
}
else{
  #file does not exist
}

它还会检查文件头和尾。

不确定你的意思,但我想一旦你确认文件存在,你就可以阅读它的内容来检查它:

open FILE, "filename" or die "Error opening file!\n"
while(my $line=<FILE>){
  #process line
}

【讨论】:

  • 远程服务器如何检查我是否使用密钥进行无密码登录。如何验证?
  • 还有如何在不安装的情况下使用 perl 模块 .. Bcz 我无法在生产服务器中安装。有什么办法可以使用.. 将模块放在我自己的目录中并从那里使用它
  • 如果您不需要在远程服务器上执行任何需要 perl 的操作,我建议您只需通过 ssh 执行命令并在 perl 中处理输出,这样您就不需要安装任何远程机器上的 perl 代码。例如使用$output = `ssh remote_machine ls filename`(注意反引号字符(`),它不是引号!)
猜你喜欢
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 2023-03-24
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
相关资源
最近更新 更多