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
\ удалять файлы, даже если если не установлено, сколько дней хранить файлы \ или суммарный объем
- -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