Добавить setup_cleanlogs.sh

This commit is contained in:
NW 2025-02-06 16:17:38 +00:00
parent 2d0c026c93
commit 746f5c42ca

40
setup_cleanlogs.sh Normal file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# -------------------------------------------------------
# Скрипт для настройки автоматической очистки логов при старте системы
# 1. Создает systemd-сервис для очистки логов.
# 2. Сервис очищает:
# - Историю команд bash
# - Системные логи (journalctl)
# - Логи SSH
# - Логи в /var/log
# - Файлы wtmp, btmp
# 3. Скрипт настроен на запуск при старте системы.
# -------------------------------------------------------
# Путь к файлу 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"