Epurger
О программе
[Epurger] ver 1.1 (beta), 25.Nov.2001 Ruvim PinkaУдаляет старые файлы (по дате создания, изменения или доступа) и/или по объему.
Может обходить деревья каталогов рекурсивно, может пропускать каталоги.
Поддерживает CGI (GET/POST), макросы на встроенном языке.
Скачать
ftp://ftp.eserv.ru/pub/ePurger/ (85 Kb)Документация
Ключи командной строки. ( Если вызван как cgi, то строка ключей передаются в переменной cmdl )- -test \ тестовый режим. ничего не удаляется, в лог выводятся сообщения \ о файлах, которые были бы удалены и проверяемых каталогах.
- -r \ обходить подкаталоги рекурсивно. по умолчанию вложенные каталоги не смотрит.
- -m ссс \ маска обрабатываемых файлов. по умолчанию "*"
- -dir ccc \ directory. обрабатываемый каталог (по умолчанию — текущий) \ ключи -dir и -dl суммативны (каталоги добавляются в общий список)
- -dl filename \ dirs list. файл со списком обрабатываемых каталогов. длинные имена — в кавычках. \ на каждой строке по одному имени
- -cfg filename \ файл настроек. в нем могут быть использованны любые ключи, \ не обязательно на одной строке
- -log filename \ log file. имя лог-файла. \ по умолчанию лог файл имеет имя "epurger.log" в текущем каталоге \ -log con — вывод лога на консоль.
- -logstd \ также вывод лога в stdout (для cgi)
- -l nnn \ log level. уровень лога (по умолчанию 5) \ 0 — не вести лог \ 1 — выводить минимум — старт, commadline, стоп \ 2 — также указывать итог и тестовые сообщения (если режим теста) \ 3 — также выводить промежуточные данные для поддеревьев \ 5 — также выводить, если нет доступа \ 10 — также выводить обрабатываемый каталог \ 11 — также выводить удаленные каталоги \ 12 — также выводить удаленные файлы \ 16 — также выводить пропущенные каталоги
- -p nnn \ Пауза в nnn миллисекунд после каждых kkk файловых операций (по умолчанию 0) \ (для уменьшения нагрузки на машину — пусть себе тихонько в фоне работает
- -period kkk \ установить период — число файловых операций kkk между паузами \ (по умолчанию 1000)
- -HIGH \ выскокий приоритет процесса
- -NORMAL \ нормальный приоритет процесса (по умолчанию)
- -IDLE \ низкий приоритет процесса
- -sl filename \ saved list. имя файла со списком пропускаемых каталогов. \ в каждой строке — по одному точному имени или имени по маске
- -scan \ делать сканирование ScanAND (действия могут определяться в загружаемом конфиге) \ Глобальная последовательность операций: PurgeOR PurgeAND ScanAND
- -xtf procname1
- -xtd procname2 \ просканировать, выполнив procname1 над каждым файлом \ и procname2 над каждым каталогом (можно только одно из них) \ стек у procname1 и procname2 ( fd — )
- -size \ подсчитать и вывести размер и число файлов \ сканирование размера производиться после пуржинга (если таковой имел место)
- -deep n \ при подсчете размера, выводить размер поддеревьев \ с глубиной не более n от обрабатываемого фолдера \ n=0 не выводит (по умолчанию) \ n=1 выводит только для обрабатываемых -dir \ n=2 также для их подкатологов первого уровня, и т.д. \ (потом diff на файлах лога хорошо покажет, что изменилось
- -purge \ делать пуржинг (без этого ключа ничего удаляться не будет)
- -e \ удалять пустые каталоги. по умолчанию каталоги не удаляет.
- -ef nnn \ ?EmptyFileSize — удалить все файлы с размером менее nnn байт \ (не завсимо от прочих условий)
- -a \ смотреть на дату последнего доступа к файлу
- -w \ смотреть на дату последнего изменения файла (значение по умолчанию)
- -c \ смотреть на дату создания файла
- -d ddd \ оставлять файлы "моложе" указанного числа дней \ При этом, если установлено ограничение на суммарный объем, то: \ — объем не достигнет ограничения, если нету больше слишком старых файлов. \ — слишком старые файлы не будут удалены, если ограничение на объем уже достигнуто.
- -skb nnn \ оставить в каждом фолдере не более nnn Kb новых файлов
- -smb nnn \ оставить в каждом фолдере не более nnn Mb новых файлов
- -akb nnn \ оставить в каждом оборабатываемом каталоге (поддереве) не более nnn Kb новых файлов \ (если установлен -r)
- -amb nnn \ оставить в каждом оборабатываемом каталоге (поддереве) не более nnn Mb новых файлов \ (если установлен -r)
- -force \ удалять файлы, даже если если не установлено, сколько дней хранить файлы \ или суммарный объем
- -h \ как бы справка.
- -help \ вывести этот текст.
Примеры:
eachfile -purge -force -dir c:\temp -m *.tmp \ удалить все tmp файлы в каталоге c:\temp
eachfile -purge -r -с -d 10 -dir c:\temp -size \ удалить в каталоге c:\temp и подкаталогах все файлы \ старее (по дате создания) 10 дней, вывести размер и число оставшихся файлов
eachfile -r -size -deep 2 -dir e:\work -dir "e:\Program Files" -IDLE -p 5000 \ подсчитать рекурсивно размер файлов в указанных фолдерах, выводя \ размеры для подкаталогов до третьей вложенности от указанных, \ при этом установить минимальный приоритет процессу \ и делать паузу на 5 сек после каждых 1000 файловых операций.
eachfile.exe -cfg showdir.f -scan >dirlist.html \ дать список текущего каталога в формате html \ в соответствии с конфигурационным файлом showdir.f