Добавить server/cleanup-temp.sh
This commit is contained in:
39
server/cleanup-temp.sh
Normal file
39
server/cleanup-temp.sh
Normal 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
|
||||
Reference in New Issue
Block a user