【サーバ運用】バックアップ用のスクリプトを組み直す

メインサーバのリニューアル(メンテナンス)に伴って、
シェルスクリプトで組んでいたログのバックアップを行うスクリプトを
Perlで組み直すことに。
丁度仕事上の都合でPerlを本格的に使い出したところなんで、
それの学習も兼ねてってところですな。

で、下がそのスクリプトです。
テストがかなり甘いんでバグが残ってそうだ……

#!/usr/bin/perl

use strict;

my @list = `ls /var/log/*.gz`;
my $listsrc;
my @getlog;
my @logname;
my $name;
my $i;
my @tarlist1;
my @tarlist2;
my $date = `date +%Y%m%d`;
chomp $date;

foreach $listsrc (@list){
chomp $listsrc;
@getlog = split("/",$listsrc);
if ($getlog[3] !~ /6\.gz$/){
push (@tarlist1,$listsrc);
}
else {
push (@tarlist1,$listsrc);
@logname = split(/\./m,$getlog[3]);
$name = shift @logname;
for ($i=7;$i>0;$i--){
$_ = pop (@tarlist1);
if ( $_ =~ $name){
$tarlist2[$i] = $_;
}
}
eval `/usr/bin/tar czf /data/backup/logs/$name.$date.tgz @tarlist2`;
(@tarlist1,@tarlist2) = ();
}
}

exit 0;