45 lines
1.1 KiB
Bash
45 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# 🧼 Nettoyage écran
|
|
clear
|
|
|
|
BASE_URL="https://git.thomasmlg.fr/thomas/Docker/raw/branch/release"
|
|
WORKDIR="/opt/lxc-updater"
|
|
|
|
# 📁 Logs par date
|
|
LOG_ROOT="/var/log/lxc-updater-TM"
|
|
DATE="$(date +%F)"
|
|
TS="$(date +%H%M%S)"
|
|
LOG_DIR="${LOG_ROOT}/${DATE}"
|
|
RUN_LOG="${LOG_DIR}/lxc-updater-run.log"
|
|
RUN_LOG_ARCHIVE="${LOG_DIR}/lxc-updater-run-${TS}.log"
|
|
|
|
mkdir -p "$WORKDIR" "$LOG_DIR"
|
|
: > "$RUN_LOG"
|
|
: > "$RUN_LOG_ARCHIVE"
|
|
|
|
log() {
|
|
echo "$1"
|
|
echo "$1" >>"$RUN_LOG"
|
|
echo "$1" >>"$RUN_LOG_ARCHIVE"
|
|
}
|
|
|
|
log "🧰 LXC Updater (TM)"
|
|
log "🖥️ Conteneur : $(hostname)"
|
|
log "📅 Date : ${DATE} 🕒 Heure : ${TS}"
|
|
|
|
log "⬇️ Téléchargement des scripts..."
|
|
curl -fsSL "${BASE_URL}/detect.sh" -o "${WORKDIR}/detect.sh" >>"$RUN_LOG" 2>&1
|
|
curl -fsSL "${BASE_URL}/update.sh" -o "${WORKDIR}/update.sh" >>"$RUN_LOG" 2>&1
|
|
chmod +x "${WORKDIR}/detect.sh" "${WORKDIR}/update.sh"
|
|
|
|
MODE="$("${WORKDIR}/detect.sh")"
|
|
log "🧭 Mode de mise à jour : ${MODE}"
|
|
|
|
log "🚀 Lancement de la mise à jour..."
|
|
"${WORKDIR}/update.sh" "${MODE}"
|
|
|
|
log "🧾 Log run : ${RUN_LOG}"
|
|
log "🗃️ Archive run : ${RUN_LOG_ARCHIVE}"
|
|
log "🎉 Terminé" |