運営

スクリプト暴走の後始末とメンテナンス

投稿日:

adsense

ファイルマネージャ

ページ表示の負荷を軽減する目的で導入していたプラグインが数日前に暴走したため、キャッシュ専用フォルダに30~40万個のファイルが生成されて約7GB以上の容量を食い潰し、レンタルしているサーバアカウントの最大ディスク容量を超過していました。
これにより期間中にファイルの追加やログファイル全般の書き込み、特にメールの受信ができなくなっていました。心当たりのある方はお手数ですが再度送ってください。


発見時にはFFFTPやファイルマネージャ(net2ftp)でキャッシュ用フォルダ丸ごとの削除を試みましたが、どうやらこれらの方法だとフォルダ削除前にファイル一覧情報の取得をするようで、試行しても必ずタイムアウトが起こり、FFFTPに至っては削除前の確認ダイアログにすら辿り着けませんでした。
通常であれば、最大容量を超過した時点で書き込みができなくなるものですが、なぜか突破して生成されていたのが未だに不思議です。
最大ディスク容量を大幅に超過
Windows標準のコマンドプロンプト([スタートメニュー]→[プログラム(P)]→[アクセサリ]→[コマンドプロンプト])からFTP クライアントを利用してファイルの削除を試行するとファイル削除成功のレスポンスが目に見える形で返ってくるため、今回はこの方法で掃除を始めることにしました。
-------------------------------------------------------------------------------
C:\>ftp ←ftpクライアントの起動。
ftp> prompt ←複数のファイルの操作時に確認の有無を切り替えます。
対話モード オフ。
ftp> open sXXX.xrea.com ←サーバに接続を開始します。
sXXX.xrea.com に接続しました。
220 ProFTPD
ユーザー (sXXX.xrea.com:(none)): ログイン名の入力
331 Password required for ログイン名.
パスワード:パスワードの入力
230 User ログイン名 logged in.
ftp> cd 該当フォルダ ←カレントディレクトリを移動します。
250 CWD command successful
ftp> mdelete *.html ←複数ファイルの削除指定。正規表現の使用ができます。
200 Type set to A
250 DELE command successful ←ファイルの削除が正常に終了したことを知らせるメッセージ。
250 DELE command successful
250 DELE command successful
(略)
421 No Transfer Timeout (300 seconds): closing control connection.
接続がリモート ホストによって閉じられました。
-------------------------------------------------------------------------------
バッチファイル化してWindowsのタスクで定期的に実行方法も考えましたが、今回はメモ帳にコピー&ペーストで「ログイン~タイムアウト」までの一連のコマンドを大量に貼り付け、回しっ放しにするようにすることで対応。
コマンドプロンプト
この機会にCMSのコアファイルのバージョンアップと構築に使用している各種プラグインの更新、負荷軽減には別の作者によるキャッシュプラグインを使用することにし解決しました。

adsense_336px



adsense_336px



-運営

Copyright© 星を見る人 , 2018 All Rights Reserved Powered by STINGER.