使用curl

使用curl

私は毎晩smbclientを使用してLinuxシステムからWindows共有に大容量ファイル(80GB)セットを転送しています。最近、何らかの理由でI / Oタイムアウトが発生しました。

cli_push returned NT_STATUS_IO_TIMEOUT

これにより、アクティブなファイル転送が中断され、Windows共有から削除されます。

未解決の問題が原因で発生する可能性があります。サンバエラー8498(そうでない場合もあります)。 Windowsシステムは私の管理下にないため、SCPまたはSFTPを使用するためにSSHサーバーをインストールすることはできず、MicrosoftのNFS実装に依存したくありません。

定期的にネットワーク経由でLinuxからWindowsに80 GBのデータを確実に移動するための別の単純な標準的な選択肢はありますか?(ネットワークはGBイーサネットなので帯域幅は問題になりません。

答え1

smbclientで次のソケットオプションを試してください。

smbclient --socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

私はWindowsからLinuxメディアサーバーに定期的に40 GB以上のファイルをエラーなくコピーします。ギガビットスイッチを介して接続されたシステムの典型的な転送速度は85 MB / sです。

答え2

使用curl

私は97MiBファイルをArch LinuxからWindowsに転送しようとし、smbclientバージョン4.9.4を実行しています。フォローするbsdユーザーが推奨する製品、私はsmbclientを使って電話をかけます。

--socket-options='TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072'

しかし、これはまだ失敗しましたcli_push returned NT_STATUS_IO_TIMEOUT

幸いにもそれ以来バージョン 7.40、カールサポートプロトコルバージョン1.

だから私はこれをLinuxからWindowsマシンのサービスにアップロードするのに使いますmoderately_sized_fileOurRemoteDirectory172.16.17.52

curl --upload-file /home/me/moderately_sized_file --user "OurWindowsDomain/MyUserName:MyPassword" smb://172.16.17.52/OurRemoteDirectory/Path/To/Dir/

私にとって、カールは毎回ファイルを確実にアップロードし、アップロードの進行状況も表示しますが、これは良いことです。

リモートディレクトリの作成

カールに注目してくださいまだサポートされていませんリモートホストにディレクトリを作成します。

したがって、/Path/To/Dir/次のsmbclientコマンドを使用して生成する必要があります。

smbclient //172.16.17.52/OurRemoteDirectory/ -U MyUserName%MyPassword -W OurWindowsDomain -c 'mkdir Path/To/Dir/'

smbclientを使用してファイルをアップロードするのと比較すると、smbclient mkdirこれまで問題はありません。

答え3

私も同じ問題がありましたが、ダウンロードはいつも失敗しました。次のオプションを使用して、「parallel_readがNT_STATUS_IO_TIMEOUTを返しました」という問題を解決できました。

smbclient -m SMB2 ... -c 'timeout 120; iosize 16384; ...'

例:ファイルパス「//server/share/My Files/More Files/version_1/file.txt」から

smbclient -m SMB2 -N '//server/share' -c 'timeout 120; iosize 16384; get \"My Files\More Files\"\version_1\file.txt' -U <username>

これらの設定がないとダウンロードは100%失敗しますが、これらの設定を使用するとダウンロードは100%機能します。

答え4

たぶん1つをインストールすることができますファイル転送プロトコルサーバーにLinuxサーバーがあり、Windows管理者に毎晩ファイルを送信するように依頼しますか?

FTPには、大容量ファイル転送のためのいくつかの便利な機能と一時停止/再開メカニズムがあります。これらの大容量ファイルの場合は、次の点に注意してください。いいえネットワークハードウェアが非アクティブ接続を早期に閉じます。それはあなたを閉じることができます制御接続転送が終わる前に。

関連情報