use Net::FTP; die "Please specify site.\n" unless ($ARGV[0]); $site = $ARGV[0]; chomp ($today = `date '+%a'`); chomp ($d = `date '+%d'`); chomp ($m = `date '+%m'`); chomp ($y = `date '+%y'`); $d -= 1; @days = grep { $_ ne $today } qw/Sun Mon Tue Wed Thu Fri Sat/; %month = (1, 31, 2, 29, 3, 31, 4, 30, 5, 31, 6, 30, 7, 31, 8, 31, 9, 30, 10, 31, 11, 30, 12, 31); $ftp = Net::FTP->new("$site", Debug => 0) or die "Cannot connect to $site: $@"; $ftp->login("reap",'only.hd') or die "Cannot login ", $ftp->message; foreach $day (@days) { $ftp->get("/data/logfiles/old/$day/24HourSummary.txt" ,"$site.$m-$d-$y") or die "get failed ", $ftp->message; print "Finished $site.$m-$d-$y for $day.\n"; $d -= 1; if ($d == 0) { $m -= 1; $m = 12 if $m = 0; $d = $month{$m}; } } $ftp->quit;