Używam programu smbclient do przesyłania zestawu dużych plików (80 GB) co noc z systemu Linux do udziału Windows. Ostatnio, z jakiegokolwiek powodu, otrzymywałem limity czasu wejścia / wyjścia:
cli_push returned NT_STATUS_IO_TIMEOUT
co powoduje przerwanie i usunięcie aktywnego transferu plików z udziału Windows.
Może to być spowodowane nierozwiązanym błędem Samby 8498 (a może nie). System Windows nie jest pod moją kontrolą, więc nie mogę zainstalować serwera ssh (do użycia scp lub sftp) i nie chcę polegać na implementacji NFS przez Microsoft.
Czy istnieje inna prosta, standardowa alternatywa, która pozwoliłaby mi regularnie przenosić 80 GB danych z systemu Linux do systemu Windows w sieci (sieć to GB sieci Ethernet, więc przepustowość nie stanowi problemu)?
windows
samba
file-sharing
Ex Umbris
źródło
źródło
Odpowiedzi:
Spróbuj użyć tych opcji gniazd w smbclient
Regularnie kopiuję 40 + GB plików z systemu Windows na serwer multimediów Linux bez błędów, typowa szybkość transferu wynosi 85 MB / s przy maszynach podłączonych za pomocą przełącznika gigabit.
źródło
Za pomocą
curl
Korzystam z programu smbclient w wersji 4.9.4, próbując przenieść plik 97 MiB z Arch Linux do systemu Windows i wywołując program smbclient z
--socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'
zalecanym przez użytkownika bsd nadal nieudanymcli_push returned NT_STATUS_IO_TIMEOUT
.Od wersji 7.40 curl obsługuje protokół smb .
Dlatego użyłem tego do przesłania
moderately_sized_file
z Linuksa do usługiOurRemoteDirectory
na komputerze z Windows172.16.17.52
:Dla mnie curl przesłał plik niezawodnie za każdym razem, a także wyświetla postęp przesyłania, co jest miłe.
Zauważ, że curl nie obsługuje jeszcze tworzenia katalogów na zdalnym hoście.
W związku z tym może być konieczne utworzenie
/Path/To/Dir/
przy użyciu następującego polecenia (ale jaksmbclient mkdir
dotąd działało bez problemu):źródło
Może możesz zainstalować serwer ftp na serwerze linux i poprosić administratora systemu Windows o przesyłanie go wieczorem?
FTP ma kilka przydatnych funkcji do przesyłania dużych plików oraz mechanizm pauzy / wznowienia. W przypadku tak dużego pliku należy zadbać o to, aby sprzęt sieciowy zbyt wcześnie nie wyłączał nieaktywnych połączeń. Może zamknąć połączenie sterujące przed zakończeniem przesyłania.
źródło
gdyby
wciąż wraca
cli_push returned NT_STATUS_IO_TIMEOUT
po prostu dodaj opcję limitu czasu
-t <timeout in seconds>
Pomaga mi kopiować ogromne pliki (> 200 Tb) maszyn wirtualnych
źródło