Files
worm/README.md
2025-06-21 21:10:46 +00:00

32 lines
1.5 KiB
Markdown

# worm
Write once, read many-Speicher
## Ablauf ##
### Projektverzeichnisse vorbereiten ###
~~~
mkdir mein_repo
cd mein_repo
git init
mkdir Archiv # Das ist dein WORM-Speicher im Git-Repo
mkdir Neu # Hier legst du temporär neue Dateien ab
~~~
### pre-commit-hook einrichten ###
Der Hook verhindert, dass Dateien in das Archiv aufgenommen werden, wenn dort bereits eine Datei mit gleichem Namen gespeichert ist. Siehe Datei "pre-commit". Sie __muss__ im Verzeichnis Projektverzeichnis/.git/hooks mit dem Dateinamen "pre-commit" gespeichert werden.
Der Hook muss ausführbar gemacht werden:
~~~
chmod +x .git/hooks/pre-commit
~~~
### Die Scripte ###
> Bei Nutzung der Scripte ist der pre-commit-Hook eigentlich nicht erforderlich; er dient als Schutzschicht, falls die Scripte fehlerhaft sein sollten.
> Beide Scripte verfügen nicht über einen _push_.
#### Das Cron-Script einrichten ####
Um automatisiert Dateien dem WORM-Speicher zuzuführen, werden sie im Verzeichnis "Neu" gespeichert (auch Unterverzeichnisse). Cron sorgt für die Übertragung der Dateien von "Neu" nach "Archiv", die noch nicht im WORM-Speicher vorhanden sind (sync_archive.sh). Übertragene Dateien werden gelöscht, nicht übertragene Dateien verbleiben im Verzeichnis "Neu".
#### Script mit Umbenennung ####
Beim Aufruf des Scriptes "interactive_archive_sync.sh" werden alle neuen Dateien von "Neu" nach "Archiv" verschoben. Im "Archiv" bereits vorhandene Dateien können auf Wunsch mit einer Versionsnummer versehen werden und __dann__ dem Archiv zugeführt werden.