diff --git a/README.md b/README.md index b618c54..15d284e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,91 @@ -# cleanlogs +# 🚀 Скрипт автоматической очистки логов в Linux + +Этот скрипт настраивает автоматическую очистку всех логов в системе при каждом запуске. Он создаёт `systemd`-сервис, который выполняет очистку логов сразу после загрузки системы. + +## 📌 Что делает скрипт? +- Очищает **историю команд Bash** (`~/.bash_history`). +- Очищает **системные журналы** (`journalctl`). +- Очищает **логи SSH** (`/var/log/auth.log`, `/var/log/secure`). +- Очищает **все файлы логов в `/var/log/`**. +- Очищает **файлы входов пользователей** (`wtmp`, `btmp`). +- Добавляет сервис в `systemd`, который запускает очистку при каждом старте системы. + +## 🛠 Установка и запуск +### 1️⃣ Скачать и подготовить скрипт +Скачай или создай файл `setup_cleanlogs.sh` и вставь в него код: +```bash +#!/bin/bash + +# Путь к файлу systemd-сервиса +SERVICE_FILE="/etc/systemd/system/cleanlogs.service" + +# Создание systemd-сервиса для очистки логов +echo "[Unit] +Description=Очистка логов при старте +After=sysinit.target + +[Service] +Type=oneshot +ExecStart=/bin/bash -c 'history -c && > ~/.bash_history && journalctl --flush --rotate && journalctl --vacuum-time=1s && find /var/log -type f -exec truncate -s 0 {} \; && rm -rf /var/log/journal/* && truncate -s 0 /var/log/wtmp /var/log/btmp' +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target" > $SERVICE_FILE + +# Перезагрузка конфигурации systemd +systemctl daemon-reload + +# Включение сервиса при старте системы +systemctl enable cleanlogs.service + +# Сообщение об успешной установке +echo "✅ Сервис очистки логов установлен! Он будет запускаться при старте системы." +echo "📌 Проверка статуса: sudo systemctl status cleanlogs.service" +echo "❌ Отключение сервиса: sudo systemctl disable cleanlogs.service" +``` + +### 2️⃣ Сделать скрипт исполняемым +```bash +chmod +x setup_cleanlogs.sh +``` + +### 3️⃣ Запустить установку +```bash +sudo ./setup_cleanlogs.sh +``` + +После выполнения скрипта система будет автоматически очищать логи при каждом перезапуске. + +--- + +## 🎯 Команды для управления сервисом + +### 🔍 Проверить статус сервиса +```bash +sudo systemctl status cleanlogs.service +``` + +### 🚀 Запустить очистку вручную +```bash +sudo systemctl start cleanlogs.service +``` + +### ❌ Отключить автоматическую очистку +```bash +sudo systemctl disable cleanlogs.service +``` + +### 🗑 Полностью удалить сервис очистки +```bash +sudo rm -f /etc/systemd/system/cleanlogs.service +sudo systemctl daemon-reload +``` + +--- + +## ⚠️ Важно! +- Этот скрипт **удаляет всю историю команд и системные логи**. Будь осторожен! +- Если после очистки понадобятся старые логи, их восстановить будет невозможно. + +🚀 **Готово! Теперь система будет автоматически очищать логи при каждом старте.** -Скрипт пред установки на ОС для создании системы очистки логов при загрузке \ No newline at end of file