Jump to content
Sign in to follow this  
Ralliart

Kopiowanie plików na serwer FTP przy pomocy skryptu BAT

Recommended Posts

Po co komuś taki wynalazek? Jak się okazuje niezbadane są wyroki komputerów :D Mieliśmy w pracy problem z podmapowaniem udziału na jednym z komputerów i jedynym rozwiązaniem w miarę sensownym jakie nam zostało było przekopiowanie plików na serwer FTP, a następnie do lokalizacji docelowej.

Skrypt wygląda następująco:

Plik bat:

ftp -n -A -s:aa.txt 127.0.0.1
exit

Czyli:

ftp - polecenie wsadowe

-n eliminuje auto logowanie

-A logowanie jako użytkownik anonimowy

-s:aa.txt plik z poleceniami ftp

127.0.0.1 adres ip serwera FTP

exit - zamknięcie okna

Plik aa.txt

cd tempora
put zdarzenia.dat
put urlopy.dat
put nadgodz.dat
put opcje.dat
quit

Oczywiście w pliku poleceń może znajdować się również użytkownik i hasło na samej górze w kolejności:

user   - deklaracja zalogowania
nazwa   
hasło

Po rozpoczęci sesji działają normalne polecenia linii komend a oprócz tego polecenia ftp. Najważniejsze są:

PUT: wysyła plik z katalogu w którym znajdowaliśmy się rozpoczynając sesję FTP

GET: pobiera plik do katalogu w którym znajdowaliśmy się rozpoczynając sesję FTP

Pomoc Windows odnośnie tego polecenia:

TP [-v] [-d] [-i] [-g] [-s:nazwa_pliku] [-a] [-w:rozmiar_okna] [-A] [host]

 -v                Eliminuje wyświetlanie odpowiedzi zdalnego serwera.
 -n                Eliminuje automatyczne logowanie przy początkowym połączeniu.

 -i                Wyłącza interakcyjne komunikaty podczas przesyłania
                   wielu plików.
 -d                Włącza debugowanie.
 -g                Wyłącza globbing nazwy pliku (zob. polecenie GLOB).
 -s:nazwa_pliku    Określa plik tekstowy zawierający polecenia FTP; polecenia
                   zostaną automatyczne wywołane po otwarciu sesji FTP.
 -a                Użyj dowolnego lokalnego interfejsu podczas nawiązywania
                   połączenia.
 -A                Zaloguj się jako użytkownik anonimowy.
 -w:rozmiar_buforu Zastępuje domyślny rozmiar (4096) buforu transmisji.
 host              Określa nazwę hosta lub adres IP zdalnego hosta, z którym
                   jest nawiązywane połączenie.

PS:
 - polecenia mget i mput przyjmują y/n/q jako tak/nie/zakończ (yes/no/quit).
 - Aby anulować polecenie, naciśnij klawisze Ctrl+C.

Share this post


Link to post
Share on other sites

Muszę potwierdzić, że inaczej tego nie dało się zrobić. Po prostu mapowanie dysków na pośrednich serwerach i zabawa w masę batów i harmonogramów zadań na każdym z nich byłoby po prostu udręką - na pewno gdyby coś się wysypało a my byśmy zapomnieli jak to było skonfigurowane .

Co do tego niekojarzącego Windowsa - choć to XP PRO 32 bit to jednak tak strasznie obcięty (przez sprzedawcę serwera), że po prostu ani net use ani zabawa poprzez GUI nie dawały rady. Do tego zewnętrzne aplikacje do mapowania dysków też rozkładały ręce na udziałach FTP. No cóż - czasem najprostszy sposób jest najbardziej skutecznym. Do tego dochodzi szybkość tego rozwiązania i niezawodność. W końcu nie od dziś wiadomo, że lenistwo jest motorem postępu .

Jednym słowem - powyższe rozwiązanie "działa" i spokojnie polecamy je jako remedium na problemy z okresowym przenoszeniem danych.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...