Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       01 Nov 2000  15:03:24
 To : Konstantin Udakov
 Subject : Re: вопpос.. :(
 -------------------------------------------------------------------------------- 
 
 
 >Доброе время! Поздравляю с началом работы проекта www.CDNOW.RU!
 >
 >попал я в аваpию, головой стукнулся.. :(
 >и вот для pаботы пpгу надо сделать.. а я никак не пойму, с чего начать...
 >
 >есть пеpл. без дополнительных библиотек. на тачке под HТ.
 >pаз в сутки на тачке генеpится несколько тысяч файлов, их надо заливать по ФТП
 >на сеpвеp.. (связь по ИП есть :))
 >на тачке юних..
 >
 >помогите написать пpогу, котоpая:
 >коннектится к ФТП
 >закачивает нужные файлы в нужное место
 
 У меня работает, заливает все файлы из текущего каталога. 
 Это мой рабочий скрипт, он не сильно вылизан.
 
 #!/usr/bin/perl -w
 
 use strict;
 use Net::FTP;
 
 $|=1;
 
 # тут параметры передаются через environment, ты просто свои поставь
 
 my $desthost=$ENV{'DESTHOST'};
 my $destuser=$ENV{'DESTUSER'};
 my $destpassword=$ENV{'DESTPASSWORD'};
 my $destdir=$ENV{'DESTDIR'};
 
 die "Must define DESTHOST, DESTDIR, DESTUSER and DESTPASSWORD ".
         "environment variables\n" 
   if ((!defined $desthost) || (!defined $destuser) || 
    (!defined $destpassword) || (!defined $destdir));
 
 print "Открываем соединение с $desthost... ";
 my $ftp=Net::FTP->new($desthost);
 die "cannot connect host: $@\n" unless $ftp;
 print "Ok\n";
 
 print "Авторизация пользователем $destuser... ";
 
 $ftp->login($destuser,$destpassword) or die "cannot login to ftp server: $@\n";
 
 print "Ok\n";
 
 print "Переход в $destdir... ";
 
 $ftp->cwd($destdir) or die "cannot change directory: $@\n";
 
 print "Ok\n";
 
 print "Тип файлов: текстовый... ";
 
 $ftp->type($ftp->ascii()) or die "cannot set ascii mode: $@\n";
 
 print "Ok\n";
 
 my $file;
 foreach $file (glob("*")) {
   print "Посылаем: $file... ";
   if($ftp->put($file)) {    
     print "Ok\n";
   }
 }
 
 $ftp->quit();
 
 exit(0);
 
 Eugene
 
 -- 
 "Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
 --- slrn/0.9.6.2 (FreeBSD)
  * Origin: SVZ-Service (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 вопpос.. :(   Konstantin Udakov   01 Nov 2000 00:22:10 
 Re: вопpос.. :(   Eugene Grosbein   01 Nov 2000 15:03:24 
 Moderatorial [*] (Re: вопpос.. :()   Comoderator of RU.CGI.PERL   13 Nov 2000 12:20:17 
Архивное /ru.cgi.perl/26093bf712aff.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional