Dont know if anyone has replyed yet.. But why not use "time"?
Here's what I'm thinking..
my @t = localtime(time);
my $today;
$today = sprintf "%4d%02d%02d", $t[5]+1900, $t[4]+1, $t[3];
print "$today";
will print out todays date..
this will give you a place to start..
Denis
On Thu, 17 Jul 2003, Keith Olmstead wrote:
> Hello,
>
> Been searching though this list for awhile now, and now I am needing some help. I
> am not asking for someone to do my code for me, I am trying to learn perl and the
> only way for me to do that is to dive staight into it.
>
> My problem is with the theory of the script that I am trying to write. I am needing
> something to backup logs for me from a central log server. They layout of these
> files are as follows.
>
> /host/ip/year/month/day/log1, log2, etc
>
> Every file and dir under dir1 is created dynamically by the logging program,
> syslog-ng.
>
> What I am wanting to do is create a script that will tar and gzip the day dirs at
> the end of the day and remove the dir after it has been backed up. After the month
> is finished, I would like the same done for it.
>
> Currently there are 20ish host dirs, one of each server that is logging to this box.
> There will be more and when they get pointed to this server, the ip dir will be
> created for that host and each dir under that will also be created for the
> corresponding date. The logs need to be kept for 2-3 months, and then deleted.
>
> I am needing help thinking this script out, maybe get ideas of how to set it up.
> From reading using File::Find, might be useful.
>
> I was thinking about writing a script that runs in cron each night that tars and gzp
> the log dirs. Currently I have a script that is getting a list of the dir, but I
> don't really know where to go from there. I need to get it to dive into the dir to
> the day lvl and archive the previous days logs.
>
> Here are 2 scripts that I have been playing with. I don't even know if I am going
> in the right direction.
>
> #!/usr/bin/perl
> use strict;
> use warnings;
>
> my $dir = '/opt/log/hosts/';
>
> opendir(DIR, $dir) or die "Cannot open Directory";
>
> # read the dir contents into a list, and grep out the . and .. dir entries
> my @entries = grep (!/^\.\.?$/ , readdir (DIR));
> closedir(DIR);
> foreach (@entries)
> {
> print "$_\n";
> }
>
> and
>
> #!/usr/bin/perl
>
> use File::Find;
> use strict;
> use warnings;
> my $startdir = $ARGV[0];
> my @dirlist;
> find(
> sub {
> return if -d and /^\.\.?$/;
> push @dirlist, $_ if -d;
> }, $startdir);
>
> #my $file_list = join '<BR>', @dirlist;
> my $file_list = @dirlist;
> print $file_list;
>
> Like I said before, I am not asking for someone to do my work just some guidiance in
> the right direction.
>
> TIA,
>
> Keith Olmstead
>
>
>
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]