#!/bin/bash # === Настройки === # Папки для очистки DIRS_TO_CLEAN=( "/tmp" "/var/tmp" # Добавьте папки, если нужно, например /home/username/.cache ) # Сколько дней хранить файлы (старше будут удаляться) DAYS=7 # Куда писать лог LOG_FILE="/var/log/cleanup-temp.log" # Указать почту для оповещений (оставьте пустым "" если не нужно) ALERT_EMAIL="" # === Основная логика === echo "[$(date)] Старт очистки временных файлов (старше $DAYS дн.)" | tee -a "$LOG_FILE" for DIR in "${DIRS_TO_CLEAN[@]}"; do if [[ -d "$DIR" ]]; then echo "[$(date)] Очищаю: $DIR" | tee -a "$LOG_FILE" # Удалить файлы и каталоги старше DAYS дней find "$DIR" -mindepth 1 -mtime +$DAYS -print -exec rm -rf {} \; | tee -a "$LOG_FILE" else echo "[$(date)] WARN: Нет папки $DIR" | tee -a "$LOG_FILE" fi done echo "[$(date)] Очистка завершена." | tee -a "$LOG_FILE" # === Оповещение (по e-mail) === if [[ -n "$ALERT_EMAIL" ]]; then mail -s "Очистка /tmp завершена: $(date)" "$ALERT_EMAIL" < "$LOG_FILE" fi