-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcleanup-logs.sh
More file actions
40 lines (30 loc) · 1.09 KB
/
cleanup-logs.sh
File metadata and controls
40 lines (30 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env bash
set -e
# ===============================================
# Auvyn Apies - Cleanup Logs
# Hapus file .log yang sudah lebih tua dari N hari
#
# Variabel:
# - LOGS_DIR : diambil dari .env (LOGS_DIR), fallback ke ./logs
# - KEEP_DAYS : default 7 hari (bisa override: KEEP_DAYS=14 ./cleanup-logs.sh)
# ===============================================
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="$BASE_DIR/.env"
# Default
LOG_DIR_DEFAULT="$BASE_DIR/logs"
KEEP_DAYS="${KEEP_DAYS:-7}"
# Load .env kalau ada (biar dapat LOGS_DIR)
if [ -f "$ENV_FILE" ]; then
# shellcheck disable=SC2046
export $(grep -E '^[A-Z0-9_]+=' "$ENV_FILE" | xargs)
fi
LOG_DIR="${LOGS_DIR:-$LOG_DIR_DEFAULT}"
echo "[INFO] Membersihkan log di: $LOG_DIR (lebih tua dari $KEEP_DAYS hari)"
if [ ! -d "$LOG_DIR" ]; then
echo "[WARN] Folder log tidak ditemukan: $LOG_DIR"
exit 0
fi
echo "[INFO] File yang akan dihapus:"
find "$LOG_DIR" -type f -name "*.log" -mtime "+$KEEP_DAYS" -print || true
find "$LOG_DIR" -type f -name "*.log" -mtime "+$KEEP_DAYS" -delete
echo "[INFO] Cleanup selesai."