GPG 在 crontab 中不起作用

MrG*_*MrG 6 gpg cron

我有以下脚本:

#!/bin/sh -e
PWD="supersecretpassword"
file="/backup/2do/example.txt"
echo before
echo $PWD | gpg --passphrase-fd 0 -c $file
echo after
Run Code Online (Sandbox Code Playgroud)

如果手动执行,这些脚本工作得很好,但是当作为 crontab 执行时,当 gpg 行被执行时就会停止工作。

GPG 显示:

gpg: cannot open `/dev/tty': No such device or address
Run Code Online (Sandbox Code Playgroud)

我很感激任何建议!

解决方案:添加--no-tty到 GPG

小智 9

/usr/bin/gpg --no-tty --passphrase-file /home/vouuuuuuuuu/settings/passfile.txt --decrypt-files /home/juhuuu/dirname/*.gpg;
Run Code Online (Sandbox Code Playgroud)
  • 现在工作正常感谢 --no-tty
  • 之前在 cron 作业日志 gpg: cannot open/dev/tty': No such device or address`
  • 所以以前不能执行,现在可以了!


Ign*_*ams 3

添加-vvgpg命令以查看更多输出。不过,这可能与失踪有关~/.gnupg

  • 谢谢你,这为我指明了正确的方向:--no-tty (2认同)
  • 这是一个很好的故障排除步骤,作为对每个人的建议,但似乎对于很多人来说,真正的解决方案是“--no-tty”,因此如果您将缺少的“~/. gnupg` 到列表中,并将 `--no-tty` 添加为该列表上的第二项。 (2认同)