web-dev-qa-db-ja.com

ファイルは正常にアップロードされますが、0バイトです

Cent OSでFTPを使用してファイルのアップロード、権限の変更、ファイルのダウンロードを行うことができるという興味深い問題があります。ただし、興味深い面倒な部分は、アップロード時にファイルが完全に空白(0バイト)になることです。

ここで何が問題でしょうか?

クライアント(FileZilla)からのログは次のとおりです。

Status: Starting upload of C:\gettweetmodel_dev.php
Status: Retrieving directory listing...
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode.
Command:    LIST -a
Response:   150 Here comes the directory listing.
Response:   226 Directory send OK.
Command:    TYPE A
Response:   200 Switching to ASCII mode.
Command:    PASV
Response:   227 Entering Passive Mode
Command:    STOR gettweetmodel_dev.php
Response:   150 Ok to send data.
Response:   451 Failure writing to local file.
3
osoclever

そのエラーコードには、主に3つの可能性があります。そのディレクトリにアップロードする権限がないか、サーバーのディスクがいっぱいであるか、ファイルをアップロードするとユーザーのディスククォータを超えます。

Ftp 4xxエラーコードは「一時的な否定完了応答」コードです。つまり、これらのエラーコードは、サーバーが何かの処理に失敗したときに返されます。具体的には、エラーコード451は、サーバーがファイルに書き込めなかったことを示します。

リモートディレクトリにサイズがゼロのファイルを作成できる場合は、許可エラーの可能性がほとんどありません。

サーバーの管理者に連絡できる場合は、正確な問題を判別できるはずです。

3
user26112

ディスク全体の問題のように聞こえます。 FTPサーバーにアクセスできる場合は、次のコマンドでディスクがいっぱいかどうかを確認できます。

$ df
Filesystem  1K-blocks  Used      Available  Use%  Mounted on
/dev/hda3   76773444   72816084  0          100%  /
/dev/hda1   101086     16327     79540      18%   /boot
/dev/shm    501628     0         501628     0%    /dev/shm

これは、デバイス/ dev/hda3がいっぱいであることを示しています。さらに、FTPサーバーのログファイルをチェックインできます。

$ less /var/log/messages

次に、FTPを検索して、ディスクに書き込めないというエラーのあるサーバーからのメッセージを見つけます。

1
slm