Suchen Sie nach Befehlsskript, gpg-Entschlüsselung und dem richtigen Shell-Pfad

484
kross

Ich habe ein Skript geschrieben, um symmetrisch mit find, gpg und inotify zu verschlüsseln und zu entschlüsseln. füge eine Datei auf dem Samba-Server ein, ich benenne sie in Encrypted- * um, inotify löst aus, sucht und führt die Befehle aus, verschlüsselt und entfernt das Original.

Die Entschlüsselung funktioniert, wenn ich die Datei Lisa im Hauptverzeichnis erstelle.

Funktioniert nur vom Hauptverzeichnis, wo die Verschlüsselung von überall aus mit maxdepth funktioniert.

Ich denke es liegt daran, dass der vom Skript festgelegte Pfad / opt / Paper / maindir / ist, aber das Hinzufügen des Pfads und der maxdepth zum letzten find-Befehl funktioniert nicht.

Ich weiß, das ist einfach. cwd einstellen oder richtig einstellen, der Pfad ist das Skript oder so etwas. Hilfe!

#!/bin/bash cd /opt/Paper/maindir/  #sleep gives files a chance to be written to disk before encryption, otherwise dataloss will occure sleep 5s #encrypt find /opt/Paper/maindir/ -maxdepth 8 -type f \( -iname Encrypted-\* ! -iname Encrypted-\*.gpg \) -exec gpg --yes --batch --passphrase=password -c {} \;  #remove unencrypted find /opt/Paper/maindir/ -maxdepth 8 -type f \( -iname Encrypted-\* ! -iname \*.gpg \) -exec rm -f {} \;  #decrypt and remove lisa find . -type f -name lisa -exec gpg --yes --batch --passphrase=password --decrypt-files *.gpg \; -exec rm {} \;  
0
Was hindert das Skript daran, jede Datei nur zu verschlüsseln und zu löschen, ohne dass die Entschlüsselungszeile übrig bleibt? Wenn die Entschlüsselung nur kaputt ist und die ersten beiden Arbeiten in Ordnung sind, sieht es so aus, als ob der Unterschied aussieht, wo find aussieht und versucht, `find 'zu` find / opt / Paper / maindir / `zu ändern? Xen2050 vor 6 Jahren 0
Es wird nur nach diesem Dateinamen gesucht und die Erweiterung mit demselben Namen ignoriert. So verschlüsseln Sie, wenn eine Datei darauf umbenannt wird, entfernen Sie das Original. funktioniert aus jedem Verzeichnis 8 tief. nicht hübsch, aber es funktioniert. Lisa dagegen funktioniert, aber nur vom Maindir aus, selbst wenn der Pfad auf Ihren Vorschlag gesetzt ist und Maxdepth damit nicht zu funktionieren scheint. funktioniert nicht so, wie ich es gerne hätte. Das Problem ist die letzte Zeile. Ich weiß nicht, wie ich gleichzeitig nach 'Lisa' und einer GPG-Datei suchen muss. Wildcard wirft es ab. lisa wo immer finden, Pfad beibehalten, lisa löschen, entschlüsseln, gpg im gefundenen Pfad löschen. kross vor 6 Jahren 0
Ok, dann füge ein paar Debug / Echo hinzu und schau was passiert, log stdout & stderr, & / oder probiere die fraglichen Befehle in einem interaktiven Terminal und vielleicht sagt das, warum sie nicht wie erwartet funktionieren. Xen2050 vor 6 Jahren 0

0 Antworten auf die Frage