41 lines
1.9 KiB
Bash
41 lines
1.9 KiB
Bash
#!/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"
|