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

0

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

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