Windowsで「polipo -x」できないからPHPで対処した
「polipo on win の diskcache trancate ( polipo -x ) って無効なのかな? - twwp」にあるとおり、WindowsのPolipoでは「-x」オプションが効かない。放っておくとキャッシュファイルがどんどん増えてしまう。
polipo_trimcacheで対処するのがスマートっぽいが、そのためにPythonを入れるのも手間なので却下(というかpolipo_trimcacheがWindowsで使えるのかどうか知らない)。
XAMPPは入っているから、指定日数アクセスのないキャッシュファイルを削除するPHPスクリプトを書いた。タスクに登録して様子見中。
<?php define('CACHE_DIR', 'C:\Softs\Polipo\cache'); define('CACHE_DAYS', 1); $subDirs = array_slice(scandir(CACHE_DIR), 2); if (count($subDirs) == 0) { exit; } chdir(CACHE_DIR); $now = time(); foreach ($subDirs as $subDir) { foreach (glob($subDir . DIRECTORY_SEPARATOR . '*') as $file) { $pastDays = ($now - filemtime($file)) / (60 * 60 * 24); if ($pastDays >= CACHE_DAYS) { unlink($file); } } @rmdir($subDir); }