Wysyłanie plików na serwer ;P

0

Ye więc kierując się przykładem http://4programmers.net/faq.php/id=669 dostaje takie coś:

ftp1->Password = "ktos";
ftp1->User = "aaaaaa1";
ftp1->Host = "ftp://www.members.lycos.co.uk/";
ftp1->Connect ( -1 );
ftp1->Put( "command.txt","command.txt", true);
ftp1->Disconnect();

Jednak w praktyce to nie działa ;( Nic tylko stanąć i sie rozpłakać, wyświetla się komunikat: "... raised exception class EIDConnClosedGreacufully with message 'connection closed greacefu;;y'. ...". Sprawdzilem w slowniku co znaczy slowo greacyfully - "pełen wdzięku" :] Tak czy siak plik się nie wysyła na server. Co robię źle ? [sciana] [???]

0

Moze s<ort>próbój</ort> inny serwer

0

Próbowałem też na webparku ;( Ale dalej to samo :-| Prosze napiszcie coś choćby najmniejsze sugestie

0

Może tryb pasywny potrzeba włączyc?

0

OK Dałem tryb pasywny i nic więcej ;( Nic tylko wykrzyknąć wulgarne słowo :] [sciana] :/ A może ma ktoś info jak to zrobić w inny sposób choćby przez surowe sosckety ?

0

ftp1->Host = "ftp://www.members.lycos.co.uk/";
Ty łączysz się z tym adresem?! Nu nu nu! Może do webparku też podajesz zły adres?

0

Na lycosie host raczej powinien wygladac tak ftp.members.lycos.co.uk

0

Wielkie dzięki :) Faktycznie źle wpisałem ten adres :D I jeszcze wpisalem login w miejscu password :] Wielke dzieki

0

Podłączę się pod wątek.

Mam kilka/kilkanaście plików *.csv
2022-05-13_08h40_24.png
Chciałbym te pliki przesłać FTP'em ( windows 10 konsola) na serwer.
2022-05-13_08h30_30.png
I tu mam zagwozdkę... zależałoby mi żeby te pliki wysyłać do różnych katalogów na serwerze.
Zależnie od tego co plik ma w nazwie np. Extr_1_MULTIPLEX DN 09.05.2022 żeby wpisywał do katalogu Extr_1 i podkatalogu daty (09052022)
Plików może być kilka z tym samym początkiem Extr_1 i ta samą datą 09052022 ale różnymi opisami po środku. Miejsca występowania wyznacznika w nazwie pliku nie są stałopozycyjne.
Czy jest jakaś komenda/skrypt którą można w batch wpisać aby takie transfery były możliwe ?

0

zależałoby mi żeby te pliki wysyłać do różnych katalogów na serwerze.

Do zmiany katalogu na zdalnym serwerze służy komenda CD

0

tak, ale ja tego wysyłania nie planowałem ręcznie robić , tylko może jakiś skrypt którego później wrzuciłbym w task schedulera . Bo to będzie cykliczne działanie. Wiec potrzebny automat. A skryptu nie umiem jeszcze popełnić..

0

Komenda jest taka sama niezależni czy używasz trybu interaktywnego czy skryptu. Jeśli chcesz mieć to oskryptowane uruchamiasz ftp z opcją -s gdzie przekazujesz plik z kolejnymi komendami do wykonania. Przykład tutaj https://www.jscape.com/blog/using-windows-ftp-scripts-to-automate-file-transfers

0

Pisząc komenda/skrypt miałem na myśli zapisanie komend które umożliwią mi w zbiorze plików odpowiednie ich przypisanie a później kopiowanie.
Bez manualnego wskazywania jakie pliki gdzie kopiować. To właśnie ma wykonać skrypt , którego nie umiem napisać.
Innymi słowy jak zapisać aby skrypt zawierał polecenia które:

  • analizują nazwę pliku
  • jeśli na serwerze są już odpowiednie katalogi/podkatalogi to kopiuje takie plik we właściwe miejsce
  • jeśli nie ma , tworzy katalog na serwerze i wówczas kopiuje

Nie chodzi mi o proste>>>
cd EXTR_1
mput c:\FTP\Extr_1*.csv

0

Wszystkie klocki już masz, by zrobić to czego potrzebujesz. Jeśli nie wiesz jak zrobić pipe'a do zmiennej w batchu na windowsie to tu masz przykład z SO https://stackoverflow.com/questions/14952295/set-output-of-a-command-as-a-variable-with-pipes

Jeżeli potrzebujesz wiecej pomocy ze składnią batcha to już chyba nie dział C++ a https://4programmers.net/Forum/Inne

0

Racja...pomyliłem kategorie. Dzieki za pomoc...postaram się coś "uszyć"/ jeśli się nie uda . będe szukał dalej w innej kategorii.

1

A musi być FTP?

Nie lepiej użyć sftp lub scp?

1
pms_enable_synaptics napisał(a):

A musi być FTP?

Nie lepiej użyć sftp lub scp?

Nie musi, a sftp lub scp zmienia (ułatwia) rozwiązanie dla w/w tematu ?

1

Być może i ułatwia… Znacząco bardziej normalne protokoły, nie wymagające specjalnej „opieki” firewalli, minimalizują szansę, że dracones sunt per viam.

1
alvin napisał(a):
pms_enable_synaptics napisał(a):

A musi być FTP?

Nie lepiej użyć sftp lub scp?

Nie musi, a sftp lub scp zmienia (ułatwia) rozwiązanie dla w/w tematu ?

Bardzo ułatwia, klienty są w miarę standardowe (króluje OpenSSH), a jeśli chodzi o FTP, to są bardzo różne implementacje i porty "referencyjnego" polecenia ftp - np. klient w Windows bazuje na mocno przestarzałym kodzie.

SSH bez problemu obsługuje uwierzytelnienie kluczem, pracę nieinteraktywną, znacznie zwiększa bezpieczeństwo - czyli daje to, co może być trudne do uzyskania za pomocą FTP.

2

Jak robisz to dla siebie pod swój serwer to użyj rsynca.

rsync -aziP i do boju. Ewentualnie --delete jak chcesz aktualizować jakiś plik ( tkz cała ścieżka i w nowej wersji czegoś w danej ścieżce nie ma ).

Niejasności sprawdzaj w manualu. Wygodny program.

Pozdro.

0

dzięki , będę testował sugerowane rozwiązania
gdybym nie dawał rady będę prosił o dalszą pomoc

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