Я исправлял эту команду в течение двух дней, поэтому любая помощь приветствуется. Я хочу выполнить скрипт Python, который, как я понимаю, должен выполняться через скрипт bash, так как cron не запускает Python напрямую? Я подозреваю, что неправильно выполняю PATH, из-за чего запускается скрипт bash, но не скрипт Python.
Я пытаюсь запустить следующую команду:
* * * * * bash /home/dpa/PycharmProjects/Parser/start_helper &>/tmp/mycommand.log
Он выводит mycommand.log, поэтому я знаю, что он выполняется, но не запускает скрипт python. Файл .log пуст.
Скрипт bash называется start_helper без расширения .sh, так как я читал, что crontab не «любит» знаки препинания. Единственное, что делает скрипт, это запускает скрипт на Python со следующим:
#!/bin/bash
PATH=/home/dpa/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
python /home/dpa/PycharmProjects/Parser/Parser.py
Я заверил следующее:
PATH - echo $ PATH дает мне следующее:
/home/dpa/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Путь, который выводится из cron, отображает следующее:
LC_TIME=nb_NO.UTF-8
HOME=/home/dpa
LC_MONETARY=nb_NO.UTF-8
LOGNAME=dpa
PATH=/usr/bin:/bin
LC_ADDRESS=nb_NO.UTF-8
LANG=en_US.UTF-8
LC_TELEPHONE=nb_NO.UTF-8
LC_NAME=nb_NO.UTF-8
SHELL=/bin/sh
LC_MEASUREMENT=nb_NO.UTF-8
LC_IDENTIFICATION=nb_NO.UTF-8
PWD=/home/dpa
LC_NUMERIC=nb_NO.UTF-8
LC_PAPER=nb_NO.UTF-8