Очевидно cron не зарежда bash профила, така че ще трябва да напишете обвивка.
И така, напишете bash обвивка, която експортира необходимите променливи и извиква скрипта. След това извикайте тази обвивка от crontab. Когато това работи, ще знаете, че вашите променливи не са били правилно експортирани за потребителя, чийто crontab сте редактирали.
Забележка:Можете да ги добавите в /etc/bashrc
и след това ще бъде на място за всички потребители, ако имате root достъп.
Можете също така да направите обща обвивка и cron нещата да ги изпращат през обвивката.
my_bash_wrapper.sh
#!/bin/bash
. ~/.bash_profile
"$0"
извикване в cron:
0 1 * * * /my/loc/my_bash_wrapper.sh my_python_script arg1 arg2