# 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.