Скрипт пред установки на ОС для создании системы очистки логов при загрузке
README.md | ||
setup_cleanlogs.sh |
🚀 Скрипт автоматической очистки логов в Linux
Этот скрипт настраивает автоматическую очистку всех логов в системе при каждом запуске. Он создаёт systemd
-сервис, который выполняет очистку логов сразу после загрузки системы.
📌 Что делает скрипт?
- Очищает историю команд Bash (
~/.bash_history
). - Очищает системные журналы (
journalctl
). - Очищает логи SSH (
/var/log/auth.log
,/var/log/secure
). - Очищает все файлы логов в
/var/log/
. - Очищает файлы входов пользователей (
wtmp
,btmp
). - Добавляет сервис в
systemd
, который запускает очистку при каждом старте системы.
🛠 Установка и запуск
1️⃣ Скачать и подготовить скрипт
Скачай или создай файл setup_cleanlogs.sh
и вставь в него код:
#!/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️⃣ Сделать скрипт исполняемым
chmod +x setup_cleanlogs.sh
3️⃣ Запустить установку
sudo ./setup_cleanlogs.sh
После выполнения скрипта система будет автоматически очищать логи при каждом перезапуске.
🎯 Команды для управления сервисом
🔍 Проверить статус сервиса
sudo systemctl status cleanlogs.service
🚀 Запустить очистку вручную
sudo systemctl start cleanlogs.service
❌ Отключить автоматическую очистку
sudo systemctl disable cleanlogs.service
🗑 Полностью удалить сервис очистки
sudo rm -f /etc/systemd/system/cleanlogs.service
sudo systemctl daemon-reload
⚠️ Важно!
- Этот скрипт удаляет всю историю команд и системные логи. Будь осторожен!
- Если после очистки понадобятся старые логи, их восстановить будет невозможно.
🚀 Готово! Теперь система будет автоматически очищать логи при каждом старте.