Я однажды сталкивался с этой проблемой.
Я не могу сказать вам почему, но я не думаю, что cron выполняется с той же переменной окружения, что и пользователь.
Мне действительно пришлось экспортировать хороший путь, чтобы мои программы работали хорошо.
Gpg хотя бы пытается выполнить?
Или файлы, которые вы пытаетесь на самом деле зашифровать в текущем каталоге, когда выполняется cron?
Возможно, попробуйте выполнить echo whereis gpg
и echo $PATH
в вашем скрипте, чтобы увидеть, включен ли он ... Работает для меня.