Я знаю о многих подводных камнях в волшебном мире crontabs, но иногда это может помочь в устранении неполадок, когда у вас есть какой-нибудь умный способ ввести интерактивную (bash) оболочку с точно такой же средой, как когда сценарий оболочки запускается из кронтаб.
Теперь я сам о себе подумал /bin/openvt -c8 -- /bin/bash --noprofile -l
, но для этого требуются привилегии суперпользователя, задается слишком много переменных, а в простом su myusername
- множество дополнительных сред.
Кто-нибудь знает, как запустить интерактивную оболочку bash с идентичной средой cron и не требовать привилегий root в Kubuntu?
Бонус, когда он работает в сеансе ssh, в графическом интерфейсе и на одной или нескольких из следующих ОС: HP-UX, Solaris и AIX
источник
Cron не интерактивная оболочка, так что это ваша первая проблема. Это в основном игнорируется, хотя.
Реальная вещь: переменные среды. Посмотрите на заголовки из почты cron, чтобы найти их, затем установите переменные в вашей оболочке, чтобы соответствовать им, и удалите все оставшиеся переменные.
Теперь вы достаточно близки к окружающей среде, как видит ее cron.
источник