Files
for-servers/server/cleanup-temp.sh

39 lines
1.3 KiB
Bash

#!/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