program do wysyłania pliku na serwer

0

Witam serdecznie,

Chciałbym napisać program który:

Powiedzmy mam katalog C:\cos\katalog1\podkatalog*.*

wysle mi on na moj serwer FTP pliki o danej nazwie znajdujace się w podkatalogu i automatyczie utworzy katalog na serwerze \upki\nazwa_komputera_z_ktorego_wyslany_plik\podkatalog*.*

Wydaje mi się ze dobrze zeby ten program był napisany w *.bat (Bacie) pod dosem, chciałbym również zeby zapisał się on w harmonogramie zadan i był wykonywany 5 min po zalogowaniu się użytkownika. Moze mam zbyt duże wymagania, ale nie wiem czy to jest w ogóle możliwe.

Chciałbym również zeby polecenia które się wykonują były ukryte, a sam program wykonywał się w tle (coś takiego) : D. Czy napisanie takieog programu jest możliwe ?

0

Chodzi Ci o skrypt systemowy czy o program na przykład w C++.

Jeśli skrypt to polecenie FTP powinno pomóc.

Przejść do katalogu z plikami

Wykonać polecenie FTP z odpowiednimi parametrami.

Natomiast jeśli chodzi o C++ to sprawa też nie jest trudna.

Użyj funkcji WinAPI :

InternetOpen
InternetConnect
FtpPutFile

W C++ program również może działać w tle.

0

z jezykow skryptowych najszybciej stworzysz cos takiego pewnie w perlu:
http://search.cpan.org/~gbarr/libnet-1.22/Net/FTP.pm

#!/usr/bin/perl

use Net::FTP;

  #$ftphost="ip.ip.ip.115";
  $ftphost="host";
  $ftpuser="user";
  $ftppass="pass";
  $ftpdirname="/";
  $filename="";
  $j=0;

      $ftp=Net::FTP->new($ftphost,Debug=>0)or $j=1;
      if(!($j==0)){print "cannot connect, aborting\n";die;};
      $ftp->login($ftpuser,$ftppass,$ftpuser)or $j=1;
      if(!($j==0)){print "cannot log in, aborting\n";die;};
## to byl akurat plik testowy
      $ftp->ascii or $j=1;  
      if(!($j==0)){print "cannot change transfer mode to ascii, aborting\n";die;};
      $ftp->cwd($ftpdirname)or $j=1;
      if(!($j==0)){print sprintf("cannot change path to %s, aborting\n",$ftpdirname);die;};
      $ftp->put($fullfname,$filename)or $j=1;
      if(!($j==0)){print "cannot upload, aborting\n";die;};
      $ftp->quit;

jesli chcesz wykonac wszystko w tle to po prostu forkujesz i konczysz rodzica.

0

NIgdy nie mialem doczynienia z Perlem

Probowałem program ten na poczatku napisac jako skrypt systemowy *.bat

0

tak, masz duze wymagania. ftp nie zostalo zaprojektowane do tego, nie utrudniaj sobie zycia. Napisz wlasny protokol do tego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1