2013-10-21

Value too large for defined data typeの対処方

某ISPのWEB領域サービスを利用しているのだが、FTPでディレクトリを削除しようにも
  1. 550 Can't remove directory: File exists  
みたいな感じで怒られて、削除できないという状況に陥ってしまった
どうやら、FTPクライアントからは見えないファイルがあるようだ

試しに
  1. print "Content-type:text/html\n\n";  
  2. print `find ./hoge 2>&1`;  
みたいな感じで当該ディレクトリの中身のファイルを表示するようにperlのcgiスクリプトを書いて実行してみると
  1. find: stat() error ./hoge/core: Value too large for defined data type  
な感じの出力を得ることができた
どうやらcgiがcoreを吐いてしまい、これが変なタイムスタンプを持ってしまっているのが原因のようだ
そこで、タイムスタンプを現在時刻に変更するために次のようなperlのcgiスクリプトを書いて実行してみた
  1. print "Content-type:text/html\n\n";  
  2. print `touch ./hoge/core 2>&1`;  
すると、FTPクライアントからファイルが見えるようになり削除もできました!
ファイルを削除するとディレクトリも無事に削除できるようになりましたよヾ(*・ω・)シ

0 件のコメント:

コメントを投稿