Schrift
[thread]7183[/thread]

Dateien kopieren: unter beibehaltung des Datums

Leser: 1


<< >> 4 Einträge, 1 Seite
Strat
 2005-08-03 18:27
#56937 #56937
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc -f utime
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Gast Gast
 2005-08-03 18:26
#56938 #56938
Hallo zusammen,

ich habe ein kleines Script geschrieben dass unter anderem Datei kopiert. Momentan mit File::Copy und copy($orign, $dest); aber hierbei wird jedesmal das aktuelle Datum für das kopierte File gesetzt.

Ich möchte dies jedoch zu Backup - Zwecken kopieren und daher wäre es nützlich das original Änderungsdatum von $orign auch bei $dest zu haben.

Klar was ich meine?

Über etwaige Lösungsvorschläge wäre ich sehr dankbar

Gruß
Flane
pq
 2005-08-03 19:35
#56939 #56939
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das hat nix mit CGI zu tun *verschieb*
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
ptk
 2005-08-04 16:38
#56940 #56940
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Um "cp -p" weitgehend zu emulieren, kann man folgendes nach dem Kopieren verwenden:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
=head2 copy_stat($src, $dest)

=for category File

Copy stat information (owner, group, mode and time) from one file to
another. If $src is an array reference, then this is used as the
source stat information.

=cut

sub copy_stat {
my($src, $dest) = @_;
my @stat = ref $src eq 'ARRAY' ? @$src : stat($src);
die "Can't stat $src: $!" if !@stat;

chmod $stat[2], $dest
or warn "Can't chmod $dest to " . sprintf("0%o", $stat[2]) . ": $!";
chown $stat[4], $stat[5], $dest
or do {
my $save_err = $!; # otherwise it's lost in the get... calls
warn "Can't chown $dest to " .
(getpwuid($stat[4]))[0] . "/" .
(getgrgid($stat[5]))[0] . ": $save_err";
};
utime $stat[8], $stat[9], $dest
or warn "Can't utime $dest to " .
scalar(localtime $stat[8]) . "/" .
scalar(localtime $stat[9]) .
": $!";
}
<< >> 4 Einträge, 1 Seite



View all threads created 2005-08-03 18:27.