File Cleanup

SourceMod: Plugin File Cleanup 1.0.3

No permission to download

Kruzya

Менеджер у Сутенёра
Administrator
Messages
43
Reaction score
31
Kruzya submitted a new resource:

File Cleanup - Небольшой чистильщик "мусорных" файлов

Небольшой плагин-ответвление, основывающийся на плагине подобного же характера из одной из тем на форуме, который удалял демки.
Теперь с конфигом для возможности настройки, что и где удалять.
Read more about this resource...
 

Kruzya

Менеджер у Сутенёра
Administrator
Messages
43
Reaction score
31
Kruzya updated File Cleanup with a new update entry:

Обновление до 1.0.3

  • Исправлена ошибка, из-за которой фильтр по времени не работал корректно.
  • Исправлена ошибка, из-за которой фильтр по окончанию файла не срабатывал.
  • Добавлена мини-отладка. Для её активации необходимо закомментировать строку под номером 60, откомментировать строку под номером 59.
Read the rest of this update entry...
 

Kruzya

Менеджер у Сутенёра
Administrator
Messages
43
Reaction score
31
Понаблюдав за комментариями и вопросами на всех форумах по составлению конфигурации, решил перевести файл на русский, и привести пару простых примеров, которые могут быть полезно.
Code:
/**
* Конфигурационный файл для плагина [ANY] File Cleanup.
*/

// Корневая секция. НЕ ВИДОИЗМЕНЯЙТЕ ЕЁ!
"FileCleanup"
{
  /**
   * Здесь Вы можете создавать свои собственные секции-правила для удаления файлов.
   * К примеру, в этой секции мы привели в качестве примера:
   * -> Удаление всех логов движка/мода (.../csgo/logs - для CS:GO).
   * -> Описали ВСЕ ДОСТУПНЫЕ параметры (включая опциональные).
   *
   * Имя секции-правила используется для записи в логах всех ошибок и состояний, если что-то заполнено неверно.
   * ЗАМЕТКА: Имя секции может быть названо на русском, но не рекомендуется.
   */
  "Game Logs"
  {
    /**
     * Путь к папке, которую плагин должен обрабатывать.
     * Путь заполняется от корня мода (csgo/cstrike/tf/l4d2/hl2mp).
     * ЗАМЕТКА: путь обязательно должен заканчиваться слешем ("/")!
     */
    "path"                      "logs/"

    /**
     * Максимальное время жизни для файла.
     * Представлено в виде строки, описывающее время.
     *
     * i - минута.
     * h - час.
     * d - день.
     * m - месяц.
     * y - год.
     *
     * К примеру, запись "3i5h1d" будет прочитана как "1 день, 5 часов и 3 минуты", или 104580 секунд.
     */
    "lifetime"                  "3d"

    /**
     * Используемый вид времени для проверки.
     *
     * 0 - с момента последнего доступа (не будет работать на файловых системах FAT)
     * 1 - с момента создания (не будет работать на файловых системах FAT)
     * 2 - с момента последнего изменения
     *
     * ПАРАМЕТР НЕОБЯЗАТЕЛЕН. Если он не указан явно, используется режим "с момента последнего изменения".
     */
    "timemode"                  "2"

    /**
     * Просматривать подпапки при поиске файлов на удаление?
     *
     * 0 - нет.
     * 1 - да.
     *
     * ПАРАМЕТР НЕОБЯЗАТЕЛЕН. Если он не указан явно, используется значение "нет" (подпапки не просматриваются).
     */
    "include_subdirectories"    "1"

    /**
     * Добавляет правило "с чего имя файла должно начинаться".
     *
     * ПАРАМЕТР НЕОБЯЗАТЕЛЕН. Если Вы оставите его пустым, или удалите полностью - плагин не будет проверять, с чего начинается имя файла.
     */
    "starts_with"               ""

    /**
     * Добавляет правило "как имя файла должно заканчиваться".
     * Как правило, может использоваться для удаления файлов со специальными расширениями (вроде .dem или .log).
     *
     * ПАРАМЕТР НЕОБЯЗАТЕЛЕН. Если Вы оставите его пустым, или удалите полностью - плагин не будет проверять окончание имени файла.
     */
    "ends_with"                 ""

    /**
     * ЗАМЕТКА: если Вы укажете и "starts_with" и "ends_with", плагин будет удалять только те файлы, которые УДОВЛЕТВОРЯЮТ ДВУМ УСЛОВИЯМ ОДНОВРЕМЕННО.
     */
  }

  /**
   * И, для примера, простой набор правил для:
   * -> Удаления файлов демок в корне сервера (.../csgo)
   * -> Не проверяет подпапки
   * -> Производит удаление, только если прошло 3 дня с момента последнего доступа
   */
  "Recorded games (.dem)"
  {
    "path"                      "/"
    "lifetime"                  "3d"
    "timemode"                  "0"
    "ends_with"                 ".dem"
  }
}
Секций с набором правил в конфигурационном файле может быть сколько угодно (лимит есть, но не явный: это кол-во Вашей оперативной памяти).

Разберём каждый параметр чуть подробнее (выделенное красным - обязательно, зелёным - опционально):
  • Имя секции. Не совсем параметр, но почему бы и не рассмотреть и его. По сути, используется только при записи в логах ошибок и отладочной информации. В общем, заполняете его для себя.
  • Путь к файлам. Путь к папке, которая должна обрабатываться плагином. Обязательно должен заканчиваться на слеш (/). Корневой точкой считается папка мода (на примере LGSM и CSGO - .../serverfiles/csgo).
  • Максимальное время жизни файлов. Промежуток времени, в течении которого файлы должны жить. Указывается в виде строки с перечислением чисел и типа времени. К примеру, можно дать жить файлам целый год записью 1y, а можно и полгода + 2 недели (6m14d).
  • Тип времени. Указывается вид времени, с которого начинается отсчёт жизни файла. По-умолчанию, используется кроссплатформенный, гарантированно работающий везде режим - "С момента последнего изменения".
  • Проверять подпапки. По-умолчанию, плагин не проверяет подпапки. Можно явно указать запрет/разрешение на выполнение этой операции.
  • Подстрока, с которой имя файла должно начинаться. Если указано, проверяется, начинается ли имя "подозреваемого файла" с этой подстроки.
  • Подстрока, на которую имя файла должно заканчиваться. Если указано, проверяется, заканчивается ли имя "подозреваемого файла" на эту подстроку.
Если указывается сразу и подстрока начала, и подстрока конца - ожидается выполнение двух условий сразу.

И пару примеров для закрепления.
  1. Если мы хотим удалять все логи SourceMod, которые старше 7 дней:
    Code:
     "SourceMod logs"
      {
        "path" "addons/sourcemod/logs/"
        "lifetime" "7d"
        "timemode" "2"
        "ends_with" ".log" // необязательно
      }
  2. Если мы хотим удалять файлы от плагина автозаписи демок старше суток:
    Code:
     "AutoDemo recorder :: Temporary files"
      {
        "path" "addons/sourcemod/data/demos/"
        "lifetime" "1d"
        "timemode" "2"
      }
 

Members, viewing this thread

No members online now.
Top