SCPを使用してLinuxベースのマシンからWindowsベースのマシンに1つのZipファイルを転送しようとしています。
転送は問題なく実行できますが、完了すると「デバイスに空き容量がありません」と表示されます。
共有の宛先には、多くの空き領域があります。約5ギガのファイルを転送していますが、共有には数百ギガが無料です。
ディレクトリパスの問題かもしれないと思っていました。 Windowsサーバーボックスでは、LinuxでSCPを使用する場合、共有はc:\ folderになります。/folderを使用します。
これが理にかなっていることを願っています。
別の推測:Windowsマシンで実行されているSCPサーバーは64ビットソフトウェアですか?それが32ビットの実行可能ファイルである場合、おそらく4 GBを超えるファイルはサポートされません(大丈夫、GiBなので、4 x 1024 x 1024 x 1024バイト)。
クイックチェック:ファイル名の後にタスクマネージャーに「* 32」が表示されている場合、それは32ビットの実行可能ファイルです。 (詳細を参照してください: https://superuser.com/questions/358434/how-to-check-if-a-binary-is-32-or-64-bit-on-windows )
ただし、64ビットの実行可能ファイルであり、4GBを超えるファイルを処理できることが保証されていない場合は...
約4GBのファイルを転送しようとしましたか? 4 GB未満(たとえば3800 MB)のファイルが問題なく転送されたが、4 GBを超えるファイルは失敗した場合、SCPサーバーはこの大きなファイルを処理できないと推測されます。
別の推測:一時ディレクトリのディスク容量が少ない可能性があります(%TEMP%を開くとそこに移動します)。
私も同じように調査しました。大きなファイルをアップロードしようとして、それを実行しなかった場合(つまり、Midnight Commander(mc)で)、/ tmpに保存され、1Gbを超える可能性があります。そのため、 「デバイスに空き容量がありません」と通知します。ローカルマシンの空き容量を確認し、「/ tmp」を確認してください。
# df -Th
...
tmpfs tmpfs 1001M 1001M 0 100% /tmp
...
この場合、次のようにファイル(以前の転送からのようです)を削除する必要があります。
# rm /tmp/mc-root/*
私は常にWinscpを使用してWindowsでscpを使用していますが、問題は発生していません。
さらに、実行しているコマンドとプログラムを提供できますか?
推測ですが、ファイルのコピー先のサーバーに、このファイル用にCドライブに十分なスペースがあるかどうかを確認してください。受信者が転送中に残りのファイル部分を添付している一時ディレクトリにファイルを配置している可能性があります...
また、共有とNTFSの両方に正しいアクセス許可が設定されているかどうかを確認してください。デーモンが書く権利を持っている場合。
ドライブ/共有に実装されているユーザーごとのクォータがあるかどうかを確認します。