Добавить server/cleanup-temp.sh

This commit is contained in:
2026-04-15 10:06:46 +00:00
parent e0cab88f22
commit 24d376a3c6

39
server/cleanup-temp.sh Normal file
View File

@@ -0,0 +1,39 @@
#!/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