a9a93d5b89
🧠 Was jetzt besser ist ✔ erkennt „ich bin schon installiert“ ✔ keine self-copy Fehler mehr ✔ funktioniert für beide Fälle: 🆕 frischer Download 🔁 Update / Reinstall
54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
||
|
||
set -e
|
||
|
||
echo "📦 Installiere Temp Cleanup System..."
|
||
|
||
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
TARGET_BASE="$HOME/workstation-config"
|
||
TARGET_DIR="$TARGET_BASE/temp-cleanup"
|
||
|
||
SYSTEMD_USER_DIR="$HOME/.config/systemd/user"
|
||
|
||
SERVICE_NAME="cleanup-temp.service"
|
||
TIMER_NAME="cleanup-temp.timer"
|
||
SCRIPT_NAME="cleanup_temp.sh"
|
||
|
||
TARGET_SERVICE="$SYSTEMD_USER_DIR/$SERVICE_NAME"
|
||
TARGET_TIMER="$SYSTEMD_USER_DIR/$TIMER_NAME"
|
||
|
||
echo "📁 Quelle: $SOURCE_DIR"
|
||
echo "📁 Ziel: $TARGET_DIR"
|
||
|
||
# 🧱 Struktur sicherstellen
|
||
mkdir -p "$TARGET_DIR"
|
||
mkdir -p "$SYSTEMD_USER_DIR"
|
||
|
||
# 🧠 Nur kopieren wenn Quelle ≠ Ziel
|
||
if [ "$SOURCE_DIR" != "$TARGET_DIR" ]; then
|
||
echo "📄 Kopiere Dateien..."
|
||
cp "$SOURCE_DIR/$SCRIPT_NAME" "$TARGET_DIR/"
|
||
cp "$SOURCE_DIR/systemd/$SERVICE_NAME" "$TARGET_DIR/"
|
||
cp "$SOURCE_DIR/systemd/$TIMER_NAME" "$TARGET_DIR/"
|
||
else
|
||
echo "ℹ️ Dateien bereits am Ziel – überspringe Kopieren"
|
||
fi
|
||
|
||
# 🔐 Script ausführbar machen
|
||
chmod +x "$TARGET_DIR/$SCRIPT_NAME"
|
||
|
||
# 🔧 Service dynamisch schreiben
|
||
sed "s|ExecStart=.*|ExecStart=$TARGET_DIR/$SCRIPT_NAME|" \
|
||
"$TARGET_DIR/$SERVICE_NAME" > "$TARGET_SERVICE"
|
||
|
||
# 📄 Timer kopieren
|
||
cp "$TARGET_DIR/$TIMER_NAME" "$TARGET_TIMER"
|
||
|
||
# 🔄 systemd reload
|
||
systemctl --user daemon-reload
|
||
|
||
# ▶️ Timer aktivieren
|
||
systemctl --user enable "$TIMER_NAME"
|
||
systemctl --user restart "$TIMER_NAME"
|
||
|
||
echo "✅ Installation abgeschlossen!" |