免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 68930089
打印 上一主题 下一主题

[日期时间] 檔案時間差異比較 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-04-16 17:02 |只看该作者
加个dumper试试,是不是你的系统里面(stat($file))[9]不是最后修改的时间。。。
perldoc -f stat看看相关东西。。。
  1. #! /usr/bin/perl

  2. use strict;
  3. use warnings;
  4. use Data::Dumper;

  5. use constant SLEEP_TIME => 10;

  6. my $dir = ".";
  7. my @files = map { (my $x = $_) =~ s/\n//; $x } `ls $dir`;
  8. my %file_access = map { $_, (stat($_))[9] } @files;

  9. print Dumper(\@files);
  10. print Dumper(\%file_access);
  11. exit;
  12. while (1) {
  13.   sleep SLEEP_TIME;

  14.   foreach (@files) {
  15.     my $file = $_;
  16.     my $last_modify = (stat($file))[9];

  17.     if ($file_access{$file} != $last_modify) {
  18.       print "\t", $file, "\n";
  19.       $file_access{$file} = $last_modify;
  20.     }
  21.   }
  22. }

复制代码

论坛徽章:
0
12 [报告]
发表于 2013-04-16 17:10 |只看该作者
这个只是一个示例,代码里面么有考虑删除等情况,一旦删除后文件stat获取的时间值不可知。。。此时hash比较就会有问题,你可以用你熟悉的语言写一个类似版本,这个只是一个例子。。。

论坛徽章:
0
13 [报告]
发表于 2013-04-16 17:31 |只看该作者
本帖最后由 68930089 于 2013-04-16 17:37 编辑

$VAR1 = [
          'ain',
          'chabeprc',
          'chaltprc',
          'chbcdrpt',
          'chbdlsht',
          'chcaryox',
          'chccrrhs',
          'chceqmhs',
          'chceqpnt',
          'chcrinsp',
          'chdefprc',
          'chdeldel',
          'chdeldel.sh',
          'chdeleqp',
          'chdelope',
          'cheaactc',
          'chedcprc',
          'cheenprc',
          'chemdprc',
          'cheqlmhs',
          'cheqputl',
          'chestprc',
          'chis-del-del.sh',
          'chis-del-edc.sh',
          'chis-del-eqp.sh',
          'chis-del-lot.sh',
          'chis-del-ope.sh',
          'chis-del-sht.sh',
          'chloiprc',
          'chmtlprc',
          'chmtrlmt',
          'chmtrlst',
          'choplcat.c',
          'chopmain.c',
          'chopprc.bak',
          'chopproc',
          'chopproc.bak',
          'chopproc.tar',
          'chqcdeft',
          'chshiphs',
          'chshiphs.bak',
          'chshtcon',
          'chshtprc',
          'chsmnthis',
          'chsrtcfg',
          'chvideft',
          'chvpklhs',
          'chwokrem',
          'cpcmsrdb',
          'del_hcwip_count.log',
          'dhshtprc',
          'dist',
          'lcdhisexe.tar',
          'nohup.out',
          'qdatakill',
          'snap.ksh',
          'test2',
          'zzzz.tmp'
        ];
$VAR1 = {
          'dhshtprc' => 'dist',
          'chdefprc' => 'chdeldel',
          'chdelope' => 'cheaactc',
          'lcdhisexe.tar' => 'nohup.out',
          'test2' => 'zzzz.tmp',
          'chvpklhs' => 'chwokrem',
          'chemdprc' => 'cheqlmhs',
          'chshiphs.bak' => 'chshtcon',
          'chis-del-del.sh' => 'chis-del-edc.sh',
          'choplcat.c' => 'chopmain.c',
          'chaltprc' => 'chbcdrpt',
          'chdeldel.sh' => 'chdeleqp',
          'chopprc.bak' => 'chopproc',
          'chmtrlmt' => 'chmtrlst',
          'chis-del-eqp.sh' => 'chis-del-lot.sh',
          'chbdlsht' => 'chcaryox',
          'chccrrhs' => 'chceqmhs',
          'cpcmsrdb' => 'del_hcwip_count.log',
          'chopproc.bak' => 'chopproc.tar',
          'cheqputl' => 'chestprc',
          'ain' => 'chabeprc',
          'chedcprc' => 'cheenprc',
          'chloiprc' => 'chmtlprc',
          'chceqpnt' => 'chcrinsp',
          'qdatakill' => 'snap.ksh',
          'chshtprc' => 'chsmnthis',
          'chsrtcfg' => 'chvideft',
          'chqcdeft' => 'chshiphs',
          'chis-del-ope.sh' => 'chis-del-sht.sh'
        };


執行之後出現上面資料,求救啊老闆要求要監控檔案系統變化。
本是對這個不熟所以才來這裡求助的。

论坛徽章:
0
14 [报告]
发表于 2013-04-16 17:52 |只看该作者
你的系统是不是不支持stat啊?你可以用C或者其他语言自己实现一下,不是很复杂的功能的,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP