/var/log — диск-memento mori. Сервер работает годами, ротация логов настроена кое-как, и однажды запись на 4 КБ падает, потому что какой-то *.log.42.gz из 2023-го съел inode. Чистка концептуально тривиальна и операционно опасна: один неверный шаблон — и удалили нужное.
Сначала посмотрите, потом удаляйте
Всегда смотрите сначала. CliAI ничего не удаляет сам, но хорошая практика — попросить листинг до rm.
$ clai покажи .log файлы старше 30 дней в /var/log→ find /var/log -type f -name '*.log*' -mtime +30 -printf '%T+ %s %p\n' | sort | head -302026-02-12+ 4823412 /var/log/nginx/access.log.42.gz2026-02-15+ 1240881 /var/log/syslog.4.gz…
Если листинг выглядит правильно — следующий шаг удаление:
$ clai удали .log файлы старше 30 дней в /var/log→ find /var/log -type f -name '*.log*' -mtime +30 -delete[Safety: CAUTION] — необратимо. Нажмите Enter для запуска.
CAUTION, не DANGER, потому что путь ограничен и предикат конкретен. rm -rf /var/log был бы DANGER и не запустился бы без явного подтверждения.
Бэкапы: оставляем последние N
Типовой паттерн: оставить семь самых новых, остальные удалить.
$ clai оставь 7 самых новых .tar.gz бэкапов в /backups, остальные удали→ ls -1t /backups/*.tar.gz | tail -n +8 | xargs -r rm -vremoved '/backups/2026-03-15.tar.gz'removed '/backups/2026-03-14.tar.gz'
tail -n +8 — та часть, которую никто не помнит. Обратите внимание: CliAI добавил xargs -r, чтобы rm не запустился без аргументов, если список пустой. Маленькая мелочь, которая спасает, когда директория неожиданно чистая.
DANGER на демо
Чтобы вы видели: спрашиваем что-то действительно деструктивное — панель краснеет.
┌─ Task ───────────────────────────────────────────────┐│ удали всё в / старше года │├─ Command ────────────────────────────────────────────┤│ find / -mtime +365 -delete │├─ Safety: DANGER ─────────────────────────────────────┤│ Пересекает корни ФС. Затронет /etc, /var, /usr. ││ Введите "yes" для подтверждения. │└──────────────────────────────────────────────────────┘
Классификатор работает на regex и не идеален — про то, что ловится и что проскакивает, есть пост про safety. Финальная линия защиты — ваша голова, читающая команду.
См. также
- Поиск больших файлов — типовой шаг «найди прежде чем удалять».
- Убить процесс — та же семья задач «вечно гуглим».