delete

Удаление устройств из БД сервера по дате последней активности

Зачем нужна

Команда массово удаляет давно неактивные устройства из таблицы Устройства. Со временем парк накапливает «мёртвые» записи (списанная техника, переустановленные ОС, удалённые виртуалки), которые занимают место и засоряют выборки. Команда позволяет почистить базу одним запуском с фильтром по сроку неактивности

Типичные случаи применения:

  • регулярная плановая чистка через cron — удаление устройств, не выходивших на связь дольше N дней

  • разовая большая чистка после многолетней эксплуатации сервера

  • удаление списанной партии устройств по списку идентификаторов

  • удаление конкретного устройства, которое не получается удалить через веб-интерфейс из-за зависших связей

Важно

Без флага --really команда работает в режиме «сухого запуска» и только показывает количество объектов под удаление. Это сделано специально как защита от ошибочного запуска. Перед боевой чисткой обязательно сделайте резервную копию

Синтаксис

rude delete [--last_active N] [--server_id ID] [--ssh] [--really]

Параметры

Параметр

Описание

--last_active N

Удалить устройства с последней активностью более N дней назад (по умолчанию 30, диапазон 0..9999)

--server_id ID

Удалить устройство с указанным server_id (можно использовать вместе с --last_active)

--really

Подтверждение фактического удаления. Без этого флага команда только подсчитывает количество объектов, попадающих под критерии

--ssh

Также удалять устройства, подключённые по SSH (по умолчанию они исключаются)

Важно

Без флага --really команда выводит только количество объектов, попадающих под критерии (без фактического удаления). Это сделано как защита от ошибочного запуска

Примечание

По умолчанию --last_active = 30 дней. Допустимый диапазон значений — от 0 до 9999 дней

Примеры

  1. Чтобы посчитать, сколько устройств попадает под критерии по умолчанию (без фактического удаления):

    rude delete
    

    Вывод покажет количество устройств и связанных объектов:

    Данные по заданным параметрам:
    Устройства: 1
    Связи server-group: 1
    
  2. Чтобы удалить устройства, неактивные больше 60 дней:

    rude delete --last_active 60 --really
    
  3. Чтобы удалить конкретное устройство по идентификатору:

    rude delete --server_id 123456789 --really
    
  4. Чтобы удалить устройства, неактивные больше 10 дней, включая SSH-подключения:

    rude delete --last_active 10 --ssh --really