У меня есть приложение на Python, которое использует getopt () для анализа командной строки на предмет параметров. Он отлично работает в интерактивной оболочке bash или в сценарии bash, который вызывается из командной строки, но он не будет выполняться при вызове из сценария оболочки bash через cron. Я использую Fedora 15.
Приложение не работает при вызове в качестве задания cron, выдает следующую ошибку в /var/log/messages:
myscript.py: abrt: обнаружено необработанное исключение Python в myscript.py
Похоже, что параметры командной строки не передаются в скрипт python должным образом.
Например, следующий вызов командной строки работает правильно, устанавливая имя входного файла на «input.txt» и устанавливая «журнал» и «timer» устанавливают желаемые значения:
python myscript.py -i input.txt --log --timer
Когда я пытаюсь вызвать программу через сценарий bash в командной строке, сценарий bash работает нормально. Но когда я пытаюсь запустить сценарий bash через cron, выполнение завершается с вышеупомянутой ошибкой.
Я затрудняюсь определить, почему сценарий оболочки не выполняется должным образом через cron. Я использую полные имена путей из сценария bash, используемого для задания cron, поэтому пути к среде не должны быть проблемой:
/ usr / bin / python /path/to/myscript.py -i / path / to /input.txt --log --timer
Я думаю, что этот синтаксис при использовании в сценарии bash, вызываемом через cron, может передавать параметры сценария в python, а не в myscript.py.
Любой помощь будет признательна!