I got this code to work when the remote dirs and files dont exist but as soon as I try to overwrite files that are already there, it fails with:
cant put /var/www/accucaps/data/test.cgi, data/test.cgi: Bad file desc
+riptor at ./mirror.pl line 121.<br>
Here's my edited sub:
sub checknew ($) {
my $localfile = join ( "", $home, @_ );
foreach my $myfiles(@_)
{
$myfiles=~s/^\///;
}
if ( -e $localfile && -f $localfile ) {
# local file is new, rmt file doesn't exist..transfer
$ftp->put( $localfile, @_ ) or die "cant put $localfile, @_: $
+!";
print "ADDED_FILE: @_\n";
$new++;
$unchanged--;
return 0;
}
What gives? |