Selam , Mailiniz için teşekür ederim.Şu şekilde bir perl script buldum.Problemsiz çalışıyor.Aktardığı dosyaları silmeden önce başka bi dizine de kopyalamak istiyorum.Bu konuda yardımcı olabilirmisiniz.
( http://aplawrence.com/Unixart/perlnetftp.html ) ---------------------------------------------------------------- #!/usr/bin/perl use strict; use Net::FTP; # # Following variables are needed my $directory="/ftpdir"; my $logfile="/ftp.log"; my $destination="test.com"; my $login="testuser"; my $password="test123"; my $putdir="/ftp/FTP/"; my $delay=60; # # program starts here # my $ftp; my $newerr; my @files; my $file; my $filecount; my $line; my $date; chdir($directory) or die("$! Can't cd to $directory"); while (1) { @files=(); $newerr=0; logit("Starting new loop"); foreach(<*>) { push @files,$_; } my $filecount=@files; logit("$filecount files to transfer"); if (not $filecount) { logit("Nothing to do"); sleep $delay; next; } $ftp=Net::FTP->new($destination,Timeout=>240) or $newerr=1; if ($newerr) { logit("Can't connect to $destination"); sleep $delay; next; } $ftp->login("$login","$password") or $newerr=1; if ($newerr) { logit("Can't login $destination with $login,$password"); "ftpput.pl.bcl" 82 lines, 1854 characters #!/usr/bin/perl use strict; use Net::FTP; # # Following variables are needed my $directory="/akin/ftpdir"; my $logfile="/akin/xfer.log"; my $destination="212.174.150.218"; my $login="yatasftp"; my $password="Yatas!2011"; my $putdir="/vg_yatas/ftp/FTP/akin/"; my $delay=60; # # program starts here # my $ftp; my $newerr; my @files; my $file; my $filecount; my $line; my $date; chdir($directory) or die("$! Can't cd to $directory"); while (1) { @files=(); $newerr=0; logit("Starting new loop"); foreach(<*>) { push @files,$_; } my $filecount=@files; logit("$filecount files to transfer"); if (not $filecount) { logit("Nothing to do"); sleep $delay; next; } $ftp=Net::FTP->new($destination,Timeout=>240) or $newerr=1; if ($newerr) { logit("Can't connect to $destination"); sleep $delay; next; } $ftp->login("$login","$password") or $newerr=1; if ($newerr) { logit("Can't login $destination with $login,$password"); $ftp->quit; sleep $delay; next; } $ftp->binary(); # set binary mode $ftp->cwd($putdir) or $newerr=1; if ($newerr) { logit("Can't cd to $putdir on $destination"); $ftp->quit; sleep $delay; next; } foreach(@files) { $file=$_; $newerr=0; $ftp->put($file,$file) or $newerr=1; if ($newerr) { logit("Error transferring $file"); next; } unlink($file) or logit("$! can't unlink $file");; } # delay for next loop sleep $delay; } sub logit { $line=shift; $date=gmtime(time); open(LOG,">>$logfile") or die("$! Can't open $logfile"); print LOG "$date: $file @files $line\n"; print "$date: $file @files $line\n"; close LOG; } ---------------------------------------------------------------------------------------- 2011/10/26 Uğur Engin <[email protected]> > Merhaba, > > Belirttiğiniz isteklerin bir kısmını mysql db dosyalari icin yapan ftp > baglanti destekli bir script betigi hazirlamistim. > > http://www.ugurengin.com/blog/mysql-datalarinin-uzak-ftp-sunucuya-yedeklenmesi.html > > Belli bir zaman dilimi icin yine bash ile if'li bir kod yazip kontrol > islemi yapilabilir. > > İncelemenizi tavsiye ederim. > > 2011/10/26 Akın Temel <[email protected]> > >> Selamlar , >> >> Unix üzerinde bir dizindeki dosyayı ftp ile gönderebilecek , gönderdiği >> dosyanın doğruluğunu kontrol edecek , hangi tarihte ve saatte gönderdiği >> logunu yazacak sonra o dosyayı başka bi dizini kopyalayıp >> silicek.Göndereceği dizini her 10 dakikada bir kontrol edecek eğer yeni >> dosya var ise yine aynı işlemleri uygulayacak. >> >> Bu işlemleri yapabileceğim bi script elinde olan yada önerebileceği başka >> bi yöntem varsa ve paylaşırsa çok memnun olurum. >> >> >> Saygılarımla >> >> _______________________________________________ >> Linux-sunucu E-Posta Listesi >> [email protected] >> >> Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından >> okuyabilirsiniz; >> >> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen >> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 >> dakika içinde üyeliğinizi sonlandırabilirsiniz. >> https://liste.linux.org.tr/mailman/listinfo/linux-sunucu >> >> > > _______________________________________________ > Linux-sunucu E-Posta Listesi > [email protected] > > Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından > okuyabilirsiniz; > > Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen > e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 > dakika içinde üyeliğinizi sonlandırabilirsiniz. > https://liste.linux.org.tr/mailman/listinfo/linux-sunucu > >
_______________________________________________ Linux-sunucu E-Posta Listesi [email protected] Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından okuyabilirsiniz; Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz. https://liste.linux.org.tr/mailman/listinfo/linux-sunucu
