2025-10-23 09:44:39 +00:00
2025-10-23 09:33:57 +00:00

Archivierungsskript: audio_archiver.sh

💿 Zweck

Dieses Bash-Skript automatisiert die Archivierung von Audio-Dateien (MP3) aus einem Quellverzeichnis auf ISO-Images (gezielte Größe einer Single-Layer DVD von 4,7 GB).

Das Skript stellt sicher, dass jede Datei eindeutig indiziert wird, indem die MP3-Tags ausgelesen und die genaue Position (ISO-ID und Dateinummer) in einem zentralen Katalog gespeichert wird.


Funktionen im Überblick

  • Automatische Überwachung: Tägliche Verarbeitung neuer Dateien (idealerweise per Cron-Job).
  • Volumenmanagement: Prüft die Größe des Staging-Verzeichnisses und schließt die aktuelle ISO ab, sobald die 4,7 GB Grenze erreicht wird.
  • Metadaten-Indexierung: Verwendet exiftool zur Extraktion von Künstler und Titel und speichert diese zusammen mit der Archivposition.
  • Eindeutige Benennung: Jede archivierte Datei erhält eine fortlaufende, eindeutige Nummer auf der jeweiligen ISO.
  • Zustandsverwaltung: Nutzt eine Konfigurationsdatei, um den Fortschritt (aktuelle ISO-ID und Dateizähler) zu speichern.

⚙️ Voraussetzungen

Das Skript erfordert die folgenden Kommandozeilen-Tools, die auf den meisten Linux-Distributionen verfügbar oder leicht installierbar sind:

  1. exiftool: Zum Auslesen der ID3-Tags (Künstler/Titel) aus den MP3-Dateien.
  2. genisoimage (oder mkisofs): Zum Erstellen des finalen ISO-9660-Images.
  3. Standard-Utilities: bash, find, cp, rm, du, stat, awk, grep.
  4. Logging-Skript: Das individuelle Skript logger.sh muss unter dem angegebenen Pfad verfügbar sein.

🚀 Installation und Einrichtung

1. Konfiguration anpassen

Passen Sie die Pfade im Abschnitt --- KONFIGURATION --- direkt im Skript audio_archiver.sh an Ihre Systemumgebung an.

Variable Beschreibung Beispielpfad
SOURCE_DIR Das zu überwachende Quellverzeichnis. /srv/MEDIA/Audio/Radio-Archiv/2025/10
STAGING_DIR Temporäres Verzeichnis zur Sammlung der ISO-Inhalte. /srv/MEDIA/Audio/ISO/Staging
ISO_OUTPUT_DIR Ablageort für die fertiggestellten .iso-Dateien. /srv/MEDIA/Audio/ISO/burn
CONFIG_FILE Datei zur Speicherung des Archivierungsstands. /root/Gitea/audio_archiver/current_iso.conf
INDEX_FILE Der zentrale Katalog (CSV-Format). /root/Gitea/audio_archiver/archive_index.csv

2. Berechtigungen setzen

Stellen Sie sicher, dass das Skript ausführbar ist und der ausführende Benutzer Lese-/Schreibrechte für alle konfigurierten Verzeichnisse und Dateien besitzt.

chmod +x /pfad/zum/audio_archiver.sh

3. Cron-Job einrichten

Planen Sie die tägliche Ausführung des Skripts (z. B. um 03:00 Uhr nachts).

crontab -e

Fügen Sie folgende Zeile hinzu (Pfad anpassen):

0 3 * * * /pfad/zum/audio_archiver.sh

📂 Archivierungsindex (archive_index.csv)

Die Indexdatei ist der zentrale Katalog, um jede archivierte Datei wiederzufinden. Das Format ist semikolon-getrennt (CSV):

Künstler;Titel;ISO_ID;Dateinummer;Originalpfad

Beispiel-Eintrag:

Queen;Bohemian Rhapsody;ISO_001;000042;/srv/MEDIA/Audio/Singles/Queen/bohemian_rhapsody.mp3

Mithilfe dieses Indexes kann der Nutzer schnell feststellen, dass der Song auf der ISO mit der ID ISO_001 unter dem Dateinamen ISO_001_000042.mp3 zu finden ist.

Description
No description provided
Readme 36 KiB
Languages
Shell 100%