in reply to Re^2: Automating File Rotation
in thread Automating File Rotation
So copy the module, rename it, add use POSIX qw(strftime);, remove
for($i = $self->{'Count'}; $i > 1; $i--) { $j = $i - 1; $next = "${currn}." . $i . $ext; $prev = "${currn}." . $j . $ext; if ( -r $prev && -f $prev ) { move($prev,$next) ## move will attempt rename for us or croak "error: move failed: ($prev,$next)"; } }
and change
$next = "${currn}.1";
to
$next = "${currn}_" . strfmt('...', localtime);
Here's some time formats friendly to Windows and UNIX shells which are string-sortable:
use POSIX qw(strftime); @t = localtime; $\ = "\n"; print strftime("%Y%m%d%H%M%S", @t); # logfile_20040914151753 print strftime("%Y%m%d-%H%M%S", @t); # logfile_20040914-151753 print strftime("%Y-%m-%d-%H%M%S", @t); # logfile_2004-09-14-151753 print strftime("%Y-%m-%d@%H-%M-%S", @t); # logfile_2004-09-14@15-17-53
|
|---|