#!/usr/bin/perl # Author: Peter R. Wood, http://prwdot.org/ ## CONFIGURATION ## use strict; use Net::FTP; my $logfile = ""; my $local_archive = ""; my $remote_host = ""; my $remote_user = ""; my $remote_pass = ""; my @remote_logs = qw( ); ## MAIN PROGRAM ## logit("Connecting to $remote_host"); my $ftp = Net::FTP->new($remote_host); $ftp->login( $remote_user, $remote_pass ); $ftp->ascii(); logit("Downloading logs"); foreach my $remote_log (@remote_logs) { my $result = $ftp->get( $remote_log, "$local_archive/$remote_log" ); logit("Retrieved $result"); } logit("Download complete"); $ftp->quit; logit("Disconnected from $remote_host"); ## SUBROUTINES ## sub logit { my ($message) = @_; my $line = "[ " . scalar( localtime( time() ) ) . " ] " . $message . "\n"; open( LOG, ">>$logfile" ) || die "Couldn't open $logfile for appending: $!\n"; print LOG $line; close(LOG); }