Nach Upload ein Event auslösen

  • Ich habe einen Backup-Server, auf den andere Server ihre Backups per sftp schieben (kein shell-Zugriff). Wie kann ich auf dem Backup-Server ein Event (z.B. Kompression der Backups) auslösen, sobald der Upload fertig ist?

    Bei meiner Suche bin ich auf inotify und incron gestoßen und hätte mir gedacht, ich könnte einen "Kontrollordner" erstellen in welchem der hochladende Server nach dem Upload eine Datei erstellt. Sobald die Datei erstellt wurde, merkt das der Backup-Server mittels inotify dann und startet per incrontab irgendein Script welches mit dem hochgeladenen Backup weiter verfährt.

    Also der angedachte Ablauf:

    - Client lädt Datei(en) auf Backup-Server

    - C erstellt Datei in Kontrollordner auf B

    - B weiß jetzt, das etwas passiert ist und komprimiert das Backup etc.


    Ist das eine vernünftige Lösung oder gibts da was besseres?

    friendly chat by and for customers:

    irc.hackint.org:6697

    #nc-kunden

  • Du kannst auch mittels authorized_keys den SSH-Zugriff auf das Komprimierungsscript beschränken, so dass die anderen Server das Script einfach selbst starten können.

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Aktivität/Scripten auf ...


    ... C: .12 (definierteDatei.tar.gz - schicken)

    cat /tmp/bak_mit_datum.tar.gz | ssh root@192.168.1.11 'cat>> /bak/bak_mit_datum_von_host.tgz'

    if keinFehler dann

    rm -i ./tmp/bak_mit_datum.tar.gz # -i nur zur Sicherheit ;)


    ... B: .11 (alle in 192.168.1.12/tmp -> tar - holen)

    ssh root@192.168.1.12 'cd /tmp; tar czvf - *' | cat > bak/datum.tar.gz

    Prüfen! if ok dann

    ssh root@192.168.1.12 'cd /tmp; rm ...' # rm uffpasse ;)


    Hint: MD5-Hashes


    Ist schon spät, ich hoffe es ist klar und ich habe keine Flüchtigkeitsfehler gemacht. :)


    Gruß

    Jochen

  • Boah, das Forum regt mich auf (könnte an der Uhrzeit liegen o_O). Jetzt habe ichs doch noch kapiert, aber kann nicht mehr bearbeiten. Sry..


    Ah, ich verstehe schon. Du erlaubst nur das hochladen per SFTP, weil du angst hast, dass dein SSH Keyfile in falsche Hände gerät und man damit unwesen auf deinem Backupserver treibt. Deshalb so ein Setup: https://www.linode.com/docs/to…ils-on-debian-and-ubuntu/

    Weil du natürlich nur Schreibrechte vergibst, musst du auf dem Server einen Task ausführen um das Backup zu verkleinern.

    Ich würde das trotzdem mit einem lokalen Borgbackup machen und das dann per SFTP auf den Server kopieren. In der Praxis läuft mein Backup nachts nach 3 und um kurz nach 5 wird auf dem Backupserver bereinigt. Das geht nur, weil ich mir relativ sicher bin, dass bis dahin das Backup durch ist... Sollte ich aber vielleicht mal überdenken, und incron schreint was ganz nettes zu sein.

  • Danke, aber als hash würde ich eher was moderneres wie sha256, sha3, blake2 nehmen :)


    Aber wieso selber machen, wenn es borgbackup gibt? :/

    Der nette Herrn Leister hat da ja auch schon was zu geschrieben: https://thomas-leister.de/server-backups-mit-borg/

    Borgbackup komprimiert ja soweit ich weiß lokal. Die Idee war ja, remote zu komprimieren weil der Backupserver weit leistungsfähiger ist als die Clients (es handelt sich um den Eierpower 2 mit 8 Cores) und er sonst eh nichts zu tun hat.

    friendly chat by and for customers:

    irc.hackint.org:6697

    #nc-kunden

  • Die Idee war ja, remote zu komprimieren weil der Backupserver weit leistungsfähiger ist als die Clients (es handelt sich um den Eierpower 2 mit 8 Cores) und er sonst eh nichts zu tun hat.

    Nur der Vollständigkeit halber: Hier ist im Beispiel von einem internen Netzwerk die Rede – in dem Moment, in dem das nicht zutrifft, und/oder der Zielrechner zu keinem Zeitpunkt unverschlüsselte Daten "sehen" soll, ist lokal zu komprimieren und das Ergebnis zu verschlüsseln, bevor es transferiert wird (vgl. https://security.stackexchange.com/a/19970/130491)

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing