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つの可能性があります。そのディレクトリにアップロードする権限がないか、サーバーのディスクがいっぱいであるか、ファイルをアップロードするとユーザーのディスククォータを超えます。
Ftp 4xxエラーコードは「一時的な否定完了応答」コードです。つまり、これらのエラーコードは、サーバーが何かの処理に失敗したときに返されます。具体的には、エラーコード451は、サーバーがファイルに書き込めなかったことを示します。
リモートディレクトリにサイズがゼロのファイルを作成できる場合は、許可エラーの可能性がほとんどありません。
サーバーの管理者に連絡できる場合は、正確な問題を判別できるはずです。
ディスク全体の問題のように聞こえます。 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を検索して、ディスクに書き込めないというエラーのあるサーバーからのメッセージを見つけます。