45 lines
1.5 KiB
Bash
Executable File
45 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ciljna mapa na Linuxu (v uporabnikovem home-u)
|
|
TARGET="$HOME/Projekcije cerkev"
|
|
BACKUP_DIR="$TARGET/backup"
|
|
|
|
# Iskanje vira na vseh priklopljenih medijih (USB ključek)
|
|
SOURCE=$(find /media/$USER -maxdepth 2 -type d -name "Projekcije cerkev" 2>/dev/null | head -n 1)
|
|
|
|
if [ -n "$SOURCE" ]; then
|
|
echo "Najden ključek: $SOURCE"
|
|
|
|
# 1. Ustvari backup obstoječe baze, če obstaja
|
|
if [ -f "$TARGET/songs.db" ]; then
|
|
echo "Ustvarjam backup baze..."
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# Časovni žig po ISO 8601 formatu (npr. 2026-03-08T20:56:42)
|
|
TS=$(date +"%Y-%m-%dT%H:%M:%S")
|
|
CURRENT_BACKUP="$BACKUP_DIR/backup_$TS"
|
|
mkdir -p "$CURRENT_BACKUP"
|
|
|
|
[ -f "$TARGET/settings.conf" ] && cp "$TARGET/settings.conf" "$CURRENT_BACKUP/"
|
|
[ -f "$TARGET/songs.db" ] && cp "$TARGET/songs.db" "$CURRENT_BACKUP/"
|
|
|
|
echo "Backup ustvarjen v: $CURRENT_BACKUP"
|
|
|
|
# 2. Ohrani samo zadnjih 6 backupov (pobriši starejše)
|
|
# ls -dt izpiše mape po času (novejše prej), tail -n +7 pa preskoči prvih šest
|
|
cd "$BACKUP_DIR" && ls -dt backup_* 2>/dev/null | tail -n +7 | xargs -r rm -rf
|
|
fi
|
|
|
|
echo "Sinhronizacija datotek z USB v home mapo..."
|
|
mkdir -p "$TARGET"
|
|
# rsync -av --exclude='backup' sinhronizira vsebino brez backup mape
|
|
rsync -av --exclude='backup' "$SOURCE/" "$TARGET/"
|
|
fi
|
|
|
|
echo "Zagon projector.py..."
|
|
if [ -d "$TARGET" ]; then
|
|
cd "$TARGET" && projekcija/projector.py
|
|
else
|
|
echo "Napaka: Mapa $TARGET ne obstaja."
|
|
fi
|