Найти командный скрипт, расшифровку gpg и правильный путь к оболочке

314
kross

Я написал скрипт для симметричного шифрования и дешифрования с помощью find, gpg и inotify. вставьте файл на сервер samba, я переименую его в Encrypted- *, триггеры inotify, найдите и запустите команды, зашифруете, удалите оригинал.

Расшифровка работает, когда я создаю файл lisa в maindir.

Работает только из главного каталога, где шифрование работает из любого места с использованием maxdepth.

Я думаю, это потому, что путь, заданный сценарием, - / opt / Paper / maindir /, но добавление этого пути и maxdepth к последней команде поиска не работает.

Я знаю, что это просто. надо установить cwd или правильно указать путь к скрипту или что-то. Помогите!

#!/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
Что мешает сценарию просто зашифровать и удалить каждый файл, а для строки дешифрования ничего не осталось? Случайно, если только дешифрование сломалось и первые два работают нормально, похоже, разница в том, где ищет find, попытался изменить `find .` на` find / opt / Paper / maindir / `? Xen2050 5 лет назад 0
Он ищет только это имя файла и игнорирует расширение с тем же именем. так что шифруйте, когда файл переименовывается в этот, удаляйте оригинал. работает из любого каталога 8 глубины. не красиво, но это работает. Лиза, с другой стороны, работает, но только из maindir, даже если путь к вашему предложению и maxdepth, похоже, не работают с ним. не работает так, как мне бы хотелось. Проблема в последней строке, я не знаю, как искать «lisa» и файл gpg одновременно. Подстановочный знак сбрасывает это. найти Лизу где угодно, сохранить путь, удалить Лизу, расшифровать, удалить gpg в найденном пути. kross 5 лет назад 0
Хорошо, тогда добавьте некоторые отладки / эхо и посмотрите, что к чему, запишите stdout & stderr и / или попробуйте соответствующие команды в интерактивном терминале, и, возможно, это скажет, почему они не работают должным образом. Xen2050 5 лет назад 0

0 ответов на вопрос

Похожие вопросы