Обновить README.md

This commit is contained in:
NW 2025-02-06 16:18:42 +00:00
parent 746f5c42ca
commit 46cab3f935

View File

@ -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
```
---
## ⚠️ Важно!
- Этот скрипт **удаляет всю историю команд и системные логи**. Будь осторожен!
- Если после очистки понадобятся старые логи, их восстановить будет невозможно.
🚀 **Готово! Теперь система будет автоматически очищать логи при каждом старте.**
Скрипт пред установки на ОС для создании системы очистки логов при загрузке