查找命令脚本、gpg 解密和正确的 shell 路径

查找命令脚本、gpg 解密和正确的 shell 路径

我编写了一个脚本,使用 find、gpg 和 inotify 对称地加密和解密。将文件粘贴到 samba 服务器,我将其重命名为 Encrypted-*,inotify 触发 find 并运行命令、加密、删除原始文件。

当我在主目录中创建文件 lisa 时,解密有效。

仅在主目录中有效,加密可使用 maxdepth 在任何地方进行。

我认为这是因为脚本设置的路径是 /opt/Paper/maindir/,但将该路径和 maxdepth 添加到最后的 find 命令中不起作用。

我知道这个很简单。必须设置 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 {} \;      

相关内容