Schrift
[thread]10118[/thread]

checken, ob ein datei geändert wurde



<< >> 5 Einträge, 1 Seite
Gast Gast
 2007-08-17 19:41
#98346 #98346
Hallo Alle!
ich will ein code in perl schreiben, der checken sollte , ob ein datei geändert wurde. Ich habe zwar mit
$my_time = (stat($filename))[9] probiert, aber es geht nicht ! kann mir jmd helfen!

vielen Dank!
pq
 2007-08-17 20:02
#98350 #98350
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2007-08-17 17:41:37--
aber es geht nicht !

"es geht nicht" ist aber keine ausreichende fehlermeldung...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
RPerl
 2007-08-17 21:50
#98353 #98353
User since
2006-11-26
384 Artikel
BenutzerIn

user image
styx-cc
 2007-08-17 22:13
#98354 #98354
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hi, aus CPAN:Digest::MD5:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
  

Or we can use the addfile method for more efficient reading of the file:

use Digest::MD5;

my $file = shift || "/etc/passwd";
open(FILE, $file) or die "Can't open '$file': $!";
binmode(FILE);

print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";


Das speichern und abgleichen der Hashsum soll dir ueberlassen sein =)

MfG
Pörl.
RPerl
 2007-08-17 22:53
#98356 #98356
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl

use warnings;
use strict;
use Digest::MD5;

my $su = 'be90385edbb12bf9982932902f10c4d5';


open(FILE, "/bin/su");                                  # nervig .oO
my $md5 = Digest::MD5->new;
while (<FILE>) {
  $md5->add($_);
}

close(FILE);


if($md5->hexdigest ne $su) {
  print "Warning, files were modified :/\n";
} else {
  print "No modification :)\n";
}


Vielleicht hilft dir ja das.

oder das?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

use warnings;
use strict;
use File::stat;

my $file = '/bin/su';
my $oldtime = 'Sun Apr 23 08:48:54 2006';

my $sb = stat($file) || die "something went wrong :/";

my $newtime = scalar localtime $sb->mtime;

if($newtime ne $oldtime) {
  print "Warning, file was modified!\n";
} else {
  print "no modification\n";
}
<< >> 5 Einträge, 1 Seite



View all threads created 2007-08-17 19:41.