32 lines
1.4 KiB
Markdown
32 lines
1.4 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 ###
|
|
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 _pull_.
|
|
|
|
#### 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.
|